$datetime = new DateTime('0000-00-00 00:00:00');
$date_string = $datetime->format('Y-m-d H:i:s');//-0001-11-30 00:00:00
日期从0000-00-00 00:00:00变为-0001-11-30 00:00:00 这显然是错的,为什么会发生这种情况,如何解决? 至少应该返回假。
信息: PHP版本5.2.13-0.dotdeb.1 Linux 2.6.26-2-openvz-amd64#1 SMP Thu 11月25日05:14:47 UTC 2010 x86_64
答案 0 :(得分:1)
根据定义,这是正确的:
在0年的1月1日(减去假设),减去一个月 - >今年12月1日-1。 减去一天 - >今年11月30日-1
或者,他们可以选择先修好一天,然后就像: 1月1日减去1d - > 12月31日-0001,减去1mo - > 11月30日-0001
格式化程序显然会将绑定检查仅生成有效日期。 (对于“有效”的某些定义)