MySQL中datetime与timestamp存储显示结果类似,都用于存储时间,
区别:
范围 | 存储 | 时区影响 | |
---|---|---|---|
datetime | 1970-01-01 00:00:01 UTC ~ 2040-01-19 03:14:07 UTC | 4字节 | 转换为主机时区 |
timestamp | 1000-01-01 00:00:00 ~ 9999-12-31 23:59:59 | 8字节 | 字符串存储,不受时区影响 |
datetime有上限时间的原因:从当前时区转换为UTC标准时间存储,即从格林尼治时间1970年到现在的时间戳, datetime的存储长度是4位,即2的4*8次方-1,转换成北京时间最大值就是2038年01月19日