96

有没有一种快速的方法来计算 php 中的日期差异?例如:

$date1 = '2009-11-12 12:09:08';
$date2 = '2009-12-01 08:20:11';

然后做一个计算,$date2 减去 $date1

我阅读了 php.net 文档,但没有运气。有没有快速的方法来做到这一点?

4

3 回答 3

208

我建议使用date->diff函数,如下例所示:

   $dStart = new DateTime('2012-07-26');
   $dEnd  = new DateTime('2012-08-26');
   $dDiff = $dStart->diff($dEnd);
   echo $dDiff->format('%r%a'); // use for point out relation: smaller/greater

http://www.php.net/manual/en/datetime.diff.php

于 2012-07-26T11:06:08.137 回答
55

strtotime 会将您的日期字符串转换为 unix 时间戳。(自 unix 时代以来的秒数。

$ts1 = strtotime($date1);
$ts2 = strtotime($date2);

$seconds_diff = $ts2 - $ts1;
于 2009-12-21T14:18:15.727 回答
22

下面的代码将通过取出两个日期之间的差异来给出天数的输出。

$str = "Jul 02 2013";
$str = strtotime(date("M d Y ")) - (strtotime($str));
echo floor($str/3600/24);
于 2013-07-03T09:44:23.893 回答