选择两个选定日期之间的所有日期


Select all the dates between two chosen dates

我正在php,mysql上构建一个与事件相关的应用程序。 这是一项特定功能,用户将在其中重复活动/事件。用户将选择开始日期和结束日期。现在我正在尝试弄清楚如何计算这两个选定日期之间的日期。我正在使用jquery的日期选择器进行日期选择。

     $start_date = date("Y-m-d", strtotime($_POST['start_date']));
   $end_date = date("Y-m-d", strtotime($_POST['end_date']));

Datediff似乎没有完成这项工作,因为它只给出了两个日期之间的差异。我想要这两个日期之间的所有日期。

如果有人能根据如何做到这一点提供建议,那就太好了。

通过这种方式,您可以获取两个日期之间的日期

   $start_date = strtotime($_POST['start_date']);
    $end_date = strtotime($_POST['end_date']);
    // Loop between timestamps, 24 hours at a time
    for ( $i = $start_date ; $i <= $end_date ; $i = $i + 86400 ) {
              echo   date( 'Y-m-d', $i )."<br>";          
    }
function createDateRangeArray($strDateFrom,$strDateTo)
    {       
        $aryRange=array();
        $iDateFrom=mktime(1,0,0,substr($strDateFrom,5,2),     substr($strDateFrom,8,2),substr($strDateFrom,0,4));
        $iDateTo=mktime(1,0,0,substr($strDateTo,5,2),     substr($strDateTo,8,2),substr($strDateTo,0,4));
        if ($iDateTo>=$iDateFrom)
        {
            array_push($aryRange,date('Y-m-d',$iDateFrom)); // first entry
            while ($iDateFrom<$iDateTo)
            {
                $iDateFrom+=86400; // add 24 hours
                array_push($aryRange,date('Y-m-d',$iDateFrom));
            }
        }
        return $aryRange;
    }

找到了上述解决方案,效果很好。感谢大家的时间和建议。

我建议您使用DateTime对象

date_default_timezone_set("Europe/Istanbul");
$dt = new DateTime("10-01-2014");
$diff = $dt->diff(new Datetime("12-01-2014"));
for($i = 1; $i <= $diff->days; $i++) {
   $nextdate = $dt->modify("+1 day");
   echo $nextdate->format("d-m-Y"); echo "'n";
}