时区和时间戳
时区
指地球上的一块区域使用的同一时间定义,以经度划分,每个时区横跨15经度,总共24个时区,东西各12个时区。
时间戳
指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数,注意“现在”这个词,如果是格林威治时间 ,现在指的是格林威治当前的时间;如果是北京时间,现在指的是北京当前的时间。
时间戳和时区有没有关系
二者没有关系。时间戳在哪个时区都是一样的,我们可以通过时间戳和时区去计算当前时区的时间。
2038问题
当 timestamp 存储的时间大于 '2038-01-19 03:14:07' UTC,mysql就会报错, 因为这是 mysql自身的问题,也就是说 timestamp是有上限的,超过了,自然会报错, 具体原因查看官方文档 : https://dev.mysql.com/doc/refman/8.0/en/datetime.html, 部分截图如下:
解决办法:
一般我们可以使用数据库类型bigint(13)存储(13位到毫秒级),bigint对应实体类型Long。

浙公网安备 33010602011771号