我有当前的功能:
function getDaysBetween($start, $end) {
$start = strtotime($start);
$end = strtotime($end);
$dateDiff = abs($end- $start);
$daysBetween = floor($dateDiff/(60*60*24));
return $daysBetween;
}
上面的函数确实返回了它们之间的日子。
因此,例如,8月3日上午3点减去8月2日晚上11点给出0.
在这种情况下,我希望它返回1,因为这些是不同的日子。我怎样才能做到这一点?
答案 0 :(得分:2)
而不是
$start = strtotime($start);
$end = strtotime($end);
使用
$start = strtotime('00:00:00', strtotime($start));
$end = strtotime('00:00:00', strtotime($end));
答案 1 :(得分:1)
从 $ start 和 $ end 中删除时间,只需传递日期即可。例如03/08/2011而不是03/08/2011:03:00:00
答案 2 :(得分:0)
function getDaysBetween($start, $end) {
$start = new DateTime($start);
$end = new DateTime($end);
$start->setTime(0,0,0);
$end->setTime(0,0,0);
$dateDiff = abs($end->getTimestamp() - $start->getTimestamp());
$daysBetween = floor($dateDiff/(60*60*24));
return $daysBetween;
}