如何使用PHP计算两个字符串日期的差异?

时间:2016-12-01 08:07:17

标签: php string date datediff

我有两个日期变量:

$dnow = "2016-12-1";
$dafter = "2016-12-11";

我想计算这两个日期的字符串格式的差异所以我该如何计算? 我用了

date_diff($object, $object2)

但它期待两个日期对象,我的日期为字符串格式 ,使用date_diff后,我收到以下错误

  

消息:类DateInterval的对象无法转换为字符串。

4 个答案:

答案 0 :(得分:5)

试试这个,使用 date_create

$dnow = "2016-12-1";
$dafter = "2016-12-11";
$date1=date_create($dnow);
$date2=date_create($dafter);
$diff=date_diff($date1,$date2);
print_r($diff);

<强> DEMO

答案 1 :(得分:3)

您可以使用strtotime函数创建两个日期的时间戳并比较这些值。

<?php

$start = strtotime('2016-12-1');
$end = strtotime('2016-12-11');
$diffInSeconds = $end - $start;
$diffInDays = $diffInSeconds / 86400;

答案 2 :(得分:2)

$datetime1=date_create($dnow);
$datetime2 = date_create($dafter);
$interval = date_diff($datetime1, $datetime2);
echo $interval->format('%R%a days');
//%R is used to show +ive or -ive symbol and %a is used to show you numeric difference

答案 3 :(得分:-1)

$dnow = "2016-12-1";
$dafter = "2016-12-11";
$dnow=date_create($dnow);
$dafter=date_create($dafter);
$difference=date_diff($dnow,$dafter);