如何从PHP';s DateTime::diff? $now=newdatetime('now'); $明天=新日期时间(“明天”); $next_year=新日期时间(“+1年”); 回声“; 打印($now->diff($明天)); 打印($now->diff($next_year)); 回声“; 日期间隔对象 ( [y] =>0 [m] =>0 [d] =>0 [h] =>10 [i] =>17 [s] =>14 [反转]=>0 [天]=>6015 ) 日期间隔对象 ( [y] =>1 [m] =>0 [d] =>0 [h] =>0 [i] =>0 [s] =>0 [反转]=>0 [天]=>6015 )

如何从PHP';s DateTime::diff? $now=newdatetime('now'); $明天=新日期时间(“明天”); $next_year=新日期时间(“+1年”); 回声“; 打印($now->diff($明天)); 打印($now->diff($next_year)); 回声“; 日期间隔对象 ( [y] =>0 [m] =>0 [d] =>0 [h] =>10 [i] =>17 [s] =>14 [反转]=>0 [天]=>6015 ) 日期间隔对象 ( [y] =>1 [m] =>0 [d] =>0 [h] =>0 [i] =>0 [s] =>0 [反转]=>0 [天]=>6015 ),php,datetime,Php,Datetime,知道为什么《天》会出现6015吗?为什么不显示总天数?1年的差异对我来说毫无意义,因为月份的天数不同 $now = new DateTime('now'); 应该是 $now = new DateTime(''2010-01-01 00:00:00''); 手册中有更多内容 好的,看来这就是问题所在 这是一个错误 谢谢你的错误报告 使用 构造器。这样做的一个复杂之处是不可能 确定指定月份或年份的天数,因为 它们的长度各不相同。在某些情况下,可以填写days字段 案例,并将其保留为0。在任何

知道为什么《天》会出现6015吗?为什么不显示总天数?1年的差异对我来说毫无意义,因为月份的天数不同

$now = new DateTime('now');
应该是

$now = new DateTime(''2010-01-01 00:00:00'');
手册中有更多内容

好的,看来这就是问题所在

这是一个错误

谢谢你的错误报告

使用 构造器。这样做的一个复杂之处是不可能 确定指定月份或年份的天数,因为 它们的长度各不相同。在某些情况下,可以填写days字段 案例,并将其保留为0。在任何情况下,都应将其记录在案 “天数”字段并非始终可用


一个更合适的bug报告应该是关注Windows报告6015天的问题(非Windows似乎可以)


关于#49778的修复(处理不同的问题)是否会影响这一点,或者问题是否仍然存在,尚未给出反馈。如果这里有人能看一下并提供一些反馈,那将是非常感谢您。

请升级到最新的php。这个错误只发生在PHP5.3VC6上。

我不这么认为。Per:DateTime::u构造([string$time=“now”[,DateTimeZone$timezone=NULL]])strottime()接受格式的时间字符串。我找到了一个很好的链接,他在示例$DateTime=new DateTime(“now”,new DateTimeZone('Europe/Warsaw')中这样做;希望它能帮上忙我自己测试了一下,结果和你一样这对我也不起作用。这个错误现在已经在最新版本的PHP中修复了。我很困惑为什么他们声称“不会修复”这个明显的错误。。。我自己也遇到过。我在中添加了一个相当好的替代函数,如果可以使用本机函数,它将使用其他方法。@fbas错误跟踪系统不是发布脚本的地方,这里也不是发布脚本的地方。晚回答评论:这个问题是两年前提出的,因此,感谢您确认问题已经解决。
$now = new DateTime(''2010-01-01 00:00:00'');