我在2015年3月1日和2017年1月31日(使用php7.2)做一个日期差异,它返回1年11个月零2天。但是(显然)应该是11个月0天或10个月30天。
这是为什么?请不要告诉我,PHP被30左右除数-如果它不如手动解决方案可靠,我就不需要日历功能!..那简直是疯了,对吧?
$diff = date_create('2015-03-01')->diff(date_create('2017-01-31'));
// returns
DateInterval Object
(
[y] => 1
[m] => 11
[d] => 2
[h] => 0
[i] => 0
[s] => 0
[weekday] => 0
[weekday_behavior] => 0
[first_last_day_of] => 0
[invert] => 0
[days] => 702
[special_type] => 0
[special_amount] => 0
[have_weekday_relative] => 0
[have_special_relative] => 0
)
// and that's simply just wrong
UPDATE 时区从“欧洲/柏林”切换为“ UTC”时有效
date_default_timezone_set('UTC');
但是,是的,“欧洲/柏林”实际上也应该起作用...
潇湘沐