可能重复:
How to calculate the difference between two dates using PHP?
我有一个PHP数组,以“2012-04-04”的形式保存电影发布日期作为示例。我将如何找到2个日期的差异。
例如 -
2012-04-04
2012-03-31
预期回复 - 5天差异
答案 0 :(得分:1)
$d1 = new DateTime('2012-04-04');
$d2 = new DateTime('2012-03-31');
$interval = $d1->diff($d2);
echo $interval->format('%R%a days');
答案 1 :(得分:0)
我暂时写了这个函数来计算日期之间的差异。它将返回构成差异的所有日期测量数组。
function date_difference($date1, $date2) {
$seconds_count = array(
'year' => (365 * 24 * 60 * 60),
'month' => (30 * 24 * 60 * 60),
'day' => (24 * 60 * 60),
'hour' => (60 * 60),
'minute' => 60
);
$diff = abs($date1 - $date2);
$years = floor($diff / $seconds_count['year']);
$diff -= ($years * $seconds_count['year']);
$months = floor($diff / $seconds_count['month']);
$diff -= ($months * $seconds_count['month']);
$days = floor($diff / $seconds_count['day']);
$diff -= ($days * $seconds_count['day']);
$hours = floor($diff / $seconds_count['hour']);
$diff -= ($hours * $seconds_count['hour']);
$minutes = floor($diff / $seconds_count['minute']);
$diff -= ($minutes * $seconds_count['minute']);
$seconds = $diff;
return array('seconds' => $seconds, 'minutes' => $minutes, 'hours' => $hours, 'days' => $days, 'months' => $months, 'years' => $years);
}
答案 2 :(得分:0)
使用strtotime()转换每个日期,这会为您提供一个unix时间戳(以秒为单位)。减去并查看两个日期之间的秒数。 60 * 60 * 24是一天的秒数,分数和舍入,你有一个大约的天数。
答案 3 :(得分:0)
您需要做的是将两个日期都转换为UTC格式(时间戳)。你可以减去彼此之间的差异,以秒为单位给你带来差异。
从那里简单地转换为天。
差异=差异/(60 * 60 * 24)。