$startTime = \DateTime::createFromFormat('Y/m/d H:i', '2015/01/01 23:00');
$endTime = \DateTime::createFromFormat('Y/m/d H:i', '2015/01/02 01:00');
我在解决一个(可能相当简单的)问题:如何确定两个日期是否在不同的日历天上?
我不能用<来判断,因为2015/01/01 22:00 < 2015/01/01 23:00也是正确的。我也不能这样做:
$diff = $startTime->diff($endTime);
$days = $diff->format('%d');
echo $days;
由于这让我得到了 0
,这里给了我一个关于如何做到这一点的想法,但是对于JavaScript而言,相当于PHP的是什么呢?
//更新
$startDate = $startTime->format('Y/m/d');
$endDate = $endTime->format('Y/m/d');
$diffDates = $startDate->diff($endDate);
$daysDiff = $diffDates->format('%d');
echo $daysDiff;
经过评论,我认为这可能是正确的方法,但现在我得到了 Error: Call to a member function diff() on string
的错误。
//更新以澄清我的意图
我只想知道相差的天数,所以对于上面的例子,它将是 '1'
(实际上只有2小时的时间差),例如 '2015/01/01 23:00' 和 '2015/01/03 17:00'
将是 '2'
。
DateTime
对象上使用diff()
,而不是从format()
结果中得到的字符串。 - jeroen