date("Y",1340896077)//1340896077 are the seconds till 2012 from 1970
Run Code Online (Sandbox Code Playgroud)
给出2012年这是正常的
And date("Y",1940896077)
Run Code Online (Sandbox Code Playgroud)
给出2031这也是正常的
但 date("Y",2240896077)
给1904年绝对不是正常的.它应该给2041年.
现在我想在php中对time()和date()进行一些解释.
PHP使用32位整数.
32位整数限制为2,147,483,647
在第三个示例中,值溢出.把它想象成一辆汽车KM柜台.它仅限于某些值(在我们的例子中为2,147,483,647),一旦你将这个值传递回0.
这可能导致2038年问题(记住2000年的错误?类似的概念).
在"PHP开发人员会议纪要"中有一个提议添加64位整数,我不知道它走了多远,他们的政策重新定位时间相关的功能是什么.
希望这有帮助:)