在PHP中如果我们想获取两个时间日期之间相隔有多少天,多少个月,你会怎么做呢?我们先看看网友提供的一些参考:
以上图片仅作为列子,无意冒犯,如有侵权请联系删除
现在如果我们使用“2003-08-11”和“2008-11-06”来测试是没有问题的;但如果我们使用 “2018-02-11” 和 “2018-03-01” 来测试就会发现输出的是 1;事实上只有18天而已。
下面看看改进的代码:
<?php
/**
* @param $startDateTime 开始时间
* @param $endDateTime 结束时间
* @return array
*/
function timeDiff($startDateTime, $endDateTime) {
$startDateTime = new DateTime($startDateTime);
$endDateTime = new DateTime($endDateTime);
$interval = $startDateTime->diff($endDateTime);
$formatMap = [
'y' => 'year',
'm' => 'month',
'd' => 'day',
'h'