$now = new DateTime('now');
$tomorrow = new DateTime('tomorrow');
$next_year = new DateTime('+1 year');
echo "<pre>";
print_r($now->diff($tomorrow));
print_r($now->diff($next_year));
echo "</pre>";
DateInterval Object
(
[y] => 0
[m] => 0
[d] => 0
[h] => 10
[i] => 17
[s] => 14
[invert] => 0
[days] => 6015
)
DateInterval Object
(
[y] => 1
[m] => 0
[d] => 0
[h] => 0
[i] => 0
[s] => 0
[invert] => 0
[days] => 6015
)
为什么'天'显示6015的任何想法?为什么不显示总天数? 1年的差异对我来说没有任何意义,因为几个月的天数不同。
答案 0 :(得分:6)
更合适的错误报告是#51184,它关注的是Windows报告6015天的问题(非Windows显示正常)。
目前尚未就#49778(处理不同问题)的修复是否会影响此问题或问题是否仍然存在提供反馈。如果这里的任何人都可以看一看并提供一些反馈,那将是非常友好的。
答案 1 :(得分:2)
请升级到最新的php。此错误仅发生在php 5.3 VC6上。
答案 2 :(得分:0)
$now = new DateTime('now');
应该是
$now = new DateTime(''2010-01-01 00:00:00'');
答案 3 :(得分:0)
好的,看起来http://bugs.php.net/bug.php?id=49778就是问题所在。
答案 4 :(得分:0)
它是一个错误 http://bugs.php.net/bug.php?id=49778
感谢您提供错误报告。
使用。创建DateInterval时确实没有设置天数 构造函数。这种复杂情况是不可能的 确定指定月份或年份的天数,因为 这些长度各不相同。可以填写一些日期字段 案件并在其他案件中保留0。无论如何,都应该记录在案 日期字段并不总是可用。