PHP&MySQL:2038年Bug:是什么?如何解决?我想用时间戳来存储日期+时间,但我读到它有一个2038年的限制。与其大量地问我的问题,我更喜欢把它分成几个小部分,这样新手用户也很容易理解。所以我的问题是:2038年到底是什么问题?它为什么会发生,当它发生时会发生什么?我们怎么解决这个问题?除了使用它之外,是否还有其他可能的替代办法,而这并不构成类似的问题?当时间戳真正发生时,我们能对使用时间戳的现有应用程序做些什么来避免所谓的问题呢?提前谢谢。
3 回答
梦里花落0921
TA贡献1772条经验 获得超6个赞
TIMESTAMP
DATETIME
这个 DATETIME
当您需要同时包含日期和时间信息的值时,将使用类型。支持范围是 '1000-01-01 00:00:00'
到 '9999-12-31 23:59:59'
.
这个 TIMESTAMP
数据类型的范围为 '1970-01-01 00:00:01'
世界协调时 '2038-01-19 03:14:07'
世界协调时。
TIMESTAMP
DATETIME
MYYA
TA贡献1868条经验 获得超4个赞
2038年的问题(又称Unix千年Bug,Y2K38,类比于Y2K问题)可能导致一些计算机软件在2038年之前或在2038年出现故障。 此问题影响到所有将系统时间存储为带符号32位整数的软件和系统,并将此数字解释为自1970年1月1日协调世界时00:00:00以来的秒数。最近可以用这种方式表示的时间是2038年1月19日星期二的协调世界时03:14:07。超过这一刻的时间将被“包围”,并作为负数存储在内部,这些系统将把这个数字解释为1901年的日期,而不是2038年的日期。 对于现有的cpu/OS组合、现有的文件系统或现有的二进制数据格式,这个问题没有简单的解决方法。
- 3 回答
- 0 关注
- 646 浏览
添加回答
举报
0/150
提交
取消