我有date_start
和date_end
字符串,我想在两个日期之间每天进行迭代。
如下所示
$dateStart = "2017-07-18";
$dateEnd = "2017-08-08";
$datesInBewteen = getDatesInBetween($dateStart, $dateEnd);
foreach ($datesInBetween as $date) {
// do stuff
}
getDatesInBetween
函数应如何显示?
答案 0 :(得分:2)
以下是适合您的工作代码:https://eval.in/842849
您应该使用{em>开始日期,日期间隔和结束日期作为参数的DatePeriod
。
您将获得结果对象,您可以循环访问以获得两个日期之间的所需日期:
<?php
$begin = new DateTime('2017-07-18');
$end = new DateTime('2017-08-08');
$daterange = new DatePeriod($begin, new DateInterval('P1D'), $end);
foreach($daterange as $date){
echo $date->format("Y-m-d") . "\n";
}
?>
答案 1 :(得分:1)
您可以使用while循环在两个日期之间进行迭代。
$dateStart = "2017-07-18";
$dateEnd = "2017-08-08";
$current_date = $dateStart;
while(strtotime($current_date) < strtotime($dateEnd))
{
echo $current_date."<br>";
$current_date= date("Y-m-d",strtotime("+1 day",strtotime($current_date)));
}
答案 2 :(得分:0)
尝试以下代码,running Example
<?php
// Start date
$date = '2017-07-18';
// End date
$end_date = '2017-08-08';
while (strtotime($date) <= strtotime($end_date)) { // Compare start date is less than end date
echo "$date\n";
$date = date ("Y-m-d", strtotime("+1 day", strtotime($date))); // increment date by 1 day
}
?>
在while循环的帮助下,您可以每天检查每天增加内部