为啥mysql中的时间戳范围为1970-2037年?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为啥mysql中的时间戳范围为1970-2037年?相关的知识,希望对你有一定的参考价值。

因为linux的时间范围是1970-2037,原因在于:
unix 以unix纪元年表示时间,他们的时间是从1970-01-01 00:00:00到现在经历的秒数,
而到约2037某个时刻,内核用32位的值来记录的秒值就溢出了;
参考技术A 因为早期unix系统时间就是一个32位整数,0就代表1970.1.1 00:00:00
1就代表1970.1.1 00:00:01
到2037年 整数溢出了......

为啥mysql中的timestamp类型的数据,没有插入也有数据

参考技术A mysql中timestamp类型的本意是“时间戳”,通常用于记录每次增删改操作的当前时间。所以常规的用法就是不设置任何值,自动用插入或修改时间作为它的值。
不仅插入,每次修改记录它也会自动改变它的值为当前时间.
参考技术B 这个类型的默认值为当前时间,这个网上都有说的

以上是关于为啥mysql中的时间戳范围为1970-2037年?的主要内容,如果未能解决你的问题,请参考以下文章

什么是mysql 的时间戳

MySQL 分区,因为用户和时间戳日期范围

为啥我在尝试执行时间戳用户定义函数时遇到运行时错误(范围)

如何处理mysql中的时间戳读取问题

如何处理mysql中的时间戳读取问题

mysql 为啥小表放前面查询时间 比大表放前面查询时间长?