如何在PHP中获取日期差异?

时间:2013-09-27 04:26:30

标签: php datetime date-difference

在php中,如果您在日期/时间格式示例“2013-09-08 00:25:31”中有一个字符串,那么如何将其与当前时间进行比较,并获得天数的差异?

感谢。

2 个答案:

答案 0 :(得分:1)

你应该检查DateTime::diff

你可以这样做

$now = new DateTime();
$prev = new DateTime('2013-09-08');
$interval = $now->diff($prev);
echo $interval->format('%R%a days');

答案 1 :(得分:1)

您可以使用strtotime()将两个日期转换为unix时间,然后计算它们之间的秒数。由此可以很容易地计算出不同的时间段。

$date1 = "2007-03-24";
$date2 = "2009-06-26";

$diff = abs(strtotime($date2) - strtotime($date1));

$years = floor($diff / (365*60*60*24));
$months = floor(($diff - $years * 365*60*60*24) / (30*60*60*24));
$days = floor(($diff - $years * 365*60*60*24 - $months*30*60*60*24)/ (60*60*24));

printf("%d years, %d months, %d days\n", $years, $months, $days);

您可以查看this链接以获取更多答案。