php计算日期之间的差异

时间:2014-07-01 12:22:08

标签: php datetime

所以我试图计算日期之间的差异。但问题在于它假设所有月份都有相同的天数。使用此代码,回声:1个月和28天

function calculateDiff($firstDate, $lastDate, $diffType = '%d') {
   $datetime1 = new DateTime($firstDate);
   $datetime2 = new DateTime($lastDate);
    $interval = $datetime1->diff($datetime2);
   return $interval->format($diffType);
}
echo calculateDiff('2014-01-01', '2014-03-01', '%Y-%m-%d');

但是,当我这样做时,它正确地回应:2个月

function calculateDiff($firstDate, $lastDate, $diffType = '%d') {
   $datetime1 = new DateTime($firstDate);
   $datetime2 = new DateTime($lastDate);
    $interval = $datetime1->diff($datetime2);
   return $interval->format($diffType);
}
echo calculateDiff('2014-01-01 18:00:15', '2014-03-01 18:00:15', '%Y-%m-%d %H:%i:%s');

所以问题与时间有关。但有时我只想输入日期,没有时间。

如何在不增加时间的情况下使其正常工作?

btw:如果我输入00:00:00的时间它也会显示错误(1个月和28天)

编辑:如果没有时间填写,我希望它自动选择18:00:00。所以如果没有填写时间,它将自动选择18:00:00两个日期

0 个答案:

没有答案