两个日期之间的天数差异[重复]

Posted

技术标签:

【中文标题】两个日期之间的天数差异[重复]【英文标题】:difference in days between two dates [duplicate] 【发布时间】:2013-07-24 17:11:38 【问题描述】:

我一直使用下面的代码来计算两个日期之间的差异(以天为单位)。但我想知道是否有更智能的东西,有人知道更好的方法吗?

//86400 one day
$data1 = '2013-07-24 21:30:00';
$data2 = '2013-08-24 21:30:00';

$diff =  (abs(strtotime($data1) - strtotime($data2))) / 86400;

var_dump($diff);

【问题讨论】:

【参考方案1】:

你可以使用DateTime:diff:

$data1 = new DateTime('2013-07-24 21:30:00');
$data2= new DateTime('2013-08-24 21:30:00');
$interval = $data1->diff($data2);
echo $interval->format('%R%a days');

如果您输入的日期格式不同,您也可以使用DateTime::createFromFormat 以获得更好的结果,例如:

$date1 = DateTime::createFromFormat('Y-m-d H:i:s', '2013-07-24 21:30:00');
$date2 = DateTime::createFromFormat('Y-m-d H:i:s', '2013-08-24 21:30:00');
$interval = $date1->diff($date2);
echo $interval->format('%R%a days');

【讨论】:

以上是关于两个日期之间的天数差异[重复]的主要内容,如果未能解决你的问题,请参考以下文章

两个日期之间的天数 [重复]

计算剩余天数[重复]

计算日期之间的天数,不计算周六和周日[重复]

收集两个日期之间的天数[重复]

Java,计算两个日期之间的天数[重复]

计算两个日期之间的天数[重复]