PHP 5.3中定义时间戳的新方法



是否在PHP 5.3中有一个新的方法来定义时间戳?

this strtotime('0000-00-00');

将在PHP 5.3之前返回0日期(01/01/1970),在PHP 5.3中返回-62169984000。还有像30/11/-0001这样的日期!!

但是我在文档中找不到任何解释。有什么想法是改变了,还是我遗漏了什么?

说明在这里:https://bugs.php.net/bug.php?id=46597

引用:

当然可以,但是strtotime()处理无效的月份和日期的方式和mktime()一样,通过有效的"四舍五入"来处理。将它们转换为有效值:该月的第0天成为前一个月的最后一天,第0个月是前一年的最后一个月,依此类推。根据这种解释,000-00-00相当明显地成为-1年(即公元前2年)11月的最后一天。

现在没有机会改变行为:checkdate()是一种更好的嗅出无效日期的方法,对于依赖strtotime()中此行为的人来说,这可能是一个潜在的讨厌的向后兼容性中断。

相关内容

  • 没有找到相关文章

最新更新