PHP 5.3中是否有一种新方法来定义时间戳?
这个strtotime(‘0000-00-00’);
将在PHP 5.3之前返回0日期(01/01/1970),在PHP 5.3中返回-62169984000.还有像30/11 / -0001这样的日期!
但我在文档中找不到任何解释.任何想法都改变了,或者我错过了什么?
解决方法:
报价:
Sure, but strtotime() has long handled invalid month and day values the same way as mktime() by effectively “rounding” them into valid values: the 0th day of the month becomes the last day of the previous month, the 0th month is the last month of the previous year, and so on. Given that interpretation, 0000-00-00 fairly obviously becomes the last day of November in the year -1 (better known as 2 BCE).
There’s no chance that behaviour is going to be changed now: checkdate() is a much better way of sniffing out invalid dates anyway, and it would be a potentially nasty backward compatibility break for people relying on this behaviour in strtotime().
标签:strtotime,php,timestamp
来源: https://codeday.me/bug/20190903/1794824.html