所以我试图计算日期之间的差异。但问题在于它假设所有月份都有相同的天数。使用此代码,回声: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两个日期