可能重复:
Unix timestamp before 1970 (even before 1700), using PHP
如你所知,我们在HTML5中有date
元素,它可以返回类似1000-10-05
的内容,现在我需要将其设为时间戳,我尝试按mktime()
执行此操作但它没有回归真正的价值。
现在我该怎么做?
答案 0 :(得分:7)
mktime()
是基于时间戳的。在32位系统上,时间戳无法达到远处的日期 - 一个有符号的int可以从ca. 1900年至2038年。
如果您需要使用1900年之前的日期进行操作,请考虑使用DateTime
library,而不是PHP 5.2及更高版本。它在内部使用64位数据,可以管理任何日期。
答案 1 :(得分:2)
使用
strtotime($yourHTML$DateString);
答案 2 :(得分:1)
如果您的问题不是所讨论的时间戳范围问题,请尝试strtotime而不是mktime。
答案 3 :(得分:1)
strtotime('1000-10-05')
必须这样做。但它只支持1970和>