Php strtotime('0000-00-00 00:00')
表现出奇怪的行为。
它的返回负值类似于-62169984000。
我的64位系统中有PHP版本5.4.17。它应该返回预期的错误值。
但是当我在其他32位系统中检查时,它返回false。
答案 0 :(得分:11)
在你的系统上,整数是64位,因此有足够的范围来计算从Unix纪元一直到0 AD的秒数。因此strtotime
与广告一样工作,并返回一个(非常大的)负数。返回值是正确的,您的期望不是。
在32位系统中,整数范围仅足以覆盖〜68年的时间段,因此早于1970 - 68 = 1902回溯将导致返回false
。 1902年至1970年之间的日期仍将导致负数。