mysql 时间戳最大值

mysql 时间戳最大值,第1张

mysql 时间戳最大值只能到 2038-01-19 03:14:07

参考地址

https://dev.mysql.com/doc/refman/8.0/en/datetime.html

datetime的默认值为null,timestamp的默认值不为null,且为系统当前时间(current_timestatmp)。如果不做特殊处理,且update没有指定该列更新,则默认更新为当前时间。

datetime占用8个字节,timestamp占用4个字节。timestamp利用率更高。

二者存储方式不一样,对于timestamp,它把客户端插入的时间从当前时区转化为世界标准时间(UTC)进行存储,查询时,逆向返回。但对于datetime,基本上存什么是什么。

二者范围不一样。timestamp范围:‘1970-01-01 00:00:01.000000’ 到 ‘2038-01-19 03:14:07.999999’; datetime范围:’1000-01-01 00:00:00.000000’ 到 ‘9999-12-31 23:59:59.999999’。原因是,timestamp占用4字节,能表示最大的时间毫秒为2的31次方减1,也就是2147483647,换成时间刚好是2038-01-19 03:14:07.999999。

1、将时间戳转化为日期。

$d = new DateTime('@888888888888')

$d->setTimezone(new DateTimeZone('PRC'))

echo $d->format('Y-m-d H:i:s')

2、将年月日转化为一个时间戳。

$d = new DateTime('2099-02-22 20:20:20')

echo $d->format('U')


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/7477543.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-06
下一篇 2023-04-06

发表评论

登录后才能评论

评论列表(0条)

保存