我想减去php中的两个日期
例如:
$date1 = 08/16/2013;
$date2 = 08/23/2013;
$answer = date2 - date1;
$答案应该是7,我将如何做到这一点?
非常感谢你
答案 0 :(得分:16)
开始使用DateTime类进行日期/时间操作:
$date1 = new DateTime('08/16/2013');
$date2 = new DateTime('08/23/2013');
$diff = $date1->diff($date2);
print_r($diff); // or $diff->days
输出:
DateInterval Object
(
[y] => 0
[m] => 0
[d] => 7
[h] => 0
[i] => 0
[s] => 0
[invert] => 0
[days] => 7
)
了解DateTime:diff()的更多信息。
请注意,日期/时间差计算中的各种strtotime()示例不正确。最简单的示例是2013-03-31 21:00
和2013-03-30 21:00
之间的差异。对于肉眼来说,确切的是1天差异,但如果你减去这两个日期,你将获得82800
秒,即0.95833333333333
天。这是因为从冬季到夏季的时间变化。 DateTime正确处理闰年和时区。
答案 1 :(得分:1)
试试这个 -
<?php
$date1 = strtotime('08/16/2013');
$date2 = strtotime('08/23/2013');
echo $hourDiff=round(abs($date2 - $date1) / (60*60*24),0);
?>
答案 2 :(得分:0)
您可以使用strtotime
和减去日期
$diff = abs(strtotime('08/16/2013') - strtotime('08/23/2013'));
echo $min = floor($diff / (60*60*24)); // 7
答案 3 :(得分:-2)
$date1 = '08/16/2013';
$date2 = '08/23/2013';
$days = (strtotime($date2) - strtotime($date1)) / (60 * 60 * 24);
print $days;