首页  >  文章  >  数据库  >  mysql时间戳溢出问题

mysql时间戳溢出问题

WBOY
WBOY原创
2016-06-07 15:33:401869浏览

众所周知,时间戳是自 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时间戳溢出问题


再例如:在mysql命令行上输入:select UNIX_TIMESTAMP('2039-01-01'); 得到0

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn