我正在使用 DateTime 和 diff 来计算两个日期之间的天数差异,如下所示:
$data_inceput = '2013-10-01';
$data_sfarsit = '2013-10-31';
$date1 = new DateTime($data_inceput);
$date2 = new DateTime($data_sfarsit);
$nr_zile = $date2->diff($date1)->format("%a");
$nr_zile
由于某些原因,出现为 6015。
如果我`var_dump($date2->diff($date1));
我得到:
object(DateInterval)#6 (8) {
["y"] => int(0)
["m"] => int(0)
["d"] => int(30)
["h"] => int(0)
["i"] => int(0)
["s"] => int(0)
["invert"] => int(1)
["days"] => int(6015)
知道为什么它会这样吗?我还尝试将时区分别设置为每个日期的 UTC 并获得相同的结果。
编辑:我在生产服务器上测试过,效果很好,唯一的问题是在本地 apache 服务器上,但两者之间的 php 设置基本相同。