<导航

时区和时间戳

时区

指地球上的一块区域使用的同一时间定义,以经度划分,每个时区横跨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。

posted @ 2020-01-17 16:45  字节悦动  阅读(1618)  评论(0)    收藏  举报