【发布时间】:2017-03-15 11:40:25
【问题描述】:
我试图找出两个月之间的差异。例如下面,我想要 2 个月。
$datetime1 = date_create('2017-03-01');
$datetime2 = date_create('2017-04-30');
$interval = date_diff($datetime1, $datetime2);
echo $interval->format('%m months');
echo $interval->format('%d days');
这给了我 2 个月零 1 天的时间。
【问题讨论】:
-
有趣的是,它给了我
1 months 29 days这是我所期望的 -
当这些日期之间没有 2 个月的时间时,您为什么想要
2 months的结果?? -
@RiggsFolly 很奇怪;如果不使用默认时区,我也会在 5.6.24 上收到
2 months1 days。使用date_default_timezone_set('America/New_York');时,我会返回1 months29 days- 所以这是这个问题的可能答案。 -
@Fred-ii- :) 我只是想玩时区,因为我刚刚注意到日期是在时钟改变的时候
-
如果我使用 date_default_timezone_set('America/New_York');然后它显示 2 但我的实际时区为 date_default_timezone_set('Africa/Nairobi');它仍然显示 3
标签: php date timezone date-difference