mysql时间戳溢出问题
程序员文章站
2022-06-17 17:30:50
...
众所周知,时间戳是自 1970 年 1 月 1 日(00:00:00 GMT)以来的秒数。它也被称为 Unix 时间戳(Unix Timestamp)。 mysql也提供了时间戳方面的函数,如unix_timestamp()和from_unixtime()。 现在通用的时间戳貌是32位无符号整形,这也就标示着时间戳会随着
众所周知,时间戳是自 1970 年 1 月 1 日(00:00:00 GMT)以来的秒数。它也被称为 Unix 时间戳(Unix Timestamp)。
mysql也提供了时间戳方面的函数,如unix_timestamp()和from_unixtime()。
现在通用的时间戳貌似是32位无符号整形,这也就标示着时间戳会随着时间的推移将溢出。事实上,时间戳的范围是到2038年止。
如果到了2039年,你的unix_timestamp()函数锁获取的值是多少呢?很简单,把你的系统时间调到2039年,然后重启你的mysql服务,会提示如下提示框:
再例如:在mysql命令行上输入:select UNIX_TIMESTAMP('2039-01-01'); 得到0
上一篇: tp中模块路径引用问题
下一篇: php 字符串瓜分几种方式
推荐阅读
-
ms sql server中实现的unix时间戳函数(含生成和格式化,可以和mysql兼容)
-
详解MySQL日期 字符串 时间戳互转
-
MySQL插入时间差八小时问题的解决方法
-
MySQL存储时间类型选择的问题讲解
-
微信小程序中时间戳和日期的相互转换问题
-
Java与MySQL时间戳传递/存储/协调问题--userLegacyDatetimeCode--userTimezone--serverTimezone
-
关于MySQL的时间进位问题浅析
-
maven 打包时间戳问题
-
PHP基于DateTime类解决Unix时间戳与日期互转问题【针对1970年前及2038年后时间戳】
-
ms sql server中实现的unix时间戳函数(含生成和格式化,可以和mysql兼容)