【发布时间】:2015-10-23 12:48:58
【问题描述】:
我有以下 PHP 函数应该返回两个日期之间的天数。 由于某些原因,一天总是重复。
$plusOneWeek = date("Y-m-d",strtotime("+1 week"));
$dates = getDates(date("Y-m-d"), $plusOneWeek);
function getDates($startTime, $endTime) {
$day = 86400;
$format = 'Y-m-d';
$startTime = strtotime($startTime);
$endTime = strtotime($endTime);
//$numDays = round(($endTime - $startTime) / $day) + 1;
$numDays = round(($endTime - $startTime) / $day); // remove increment
$days = array();
for ($i = 0; $i < $numDays; $i++) { //change $i to 1
$addDay = date($format, ($startTime + ($i * $day)));
$days[] = $addDay;
}
return $days;
}
结果是:
Array
(
[0] => 2015-10-23
[1] => 2015-10-24
[2] => 2015-10-25
[3] => 2015-10-25
[4] => 2015-10-26
[5] => 2015-10-27
[6] => 2015-10-28
)
如您所见,此日期2015-10-25 出现了两次。我不明白为什么。
【问题讨论】:
-
你为什么不使用 DateTime:diff() ?
-
我刚刚运行了这段代码——我没有得到相同的结果。你确定?!
-
我也运行了这段代码,结果很好。没有重复
-
我得到了预期的结果。没有重复!
-
伙计们,我没有得到确切的结果。它对我来说是重复的……这怎么可能?