我无法在MySQL中将以下纪元时间'-28800000'转换为标准时间。我使用此online_epoch_converter检查该值,并得到以下结果:
GMT:1969年2月1日,星期六,下午4:00:00
您所在的时区:1969年2月2日,星期日,12:00:00 AM GMT+08:00
我检查了一下,发现mysql中的有效范围是从1970到2038。
我检查了mysql的时区设置,并返回了一个值'SYSTEM'。
然后我检查了系统时区,这是新加坡标准时间。
有人能帮忙吗?非常感谢!
编辑日期:
我的表中有一些其他记录可以完美地返回所需的转换值。所以我正在检查可以消除问题但也可以保持运行良好的选项。
我试了三个脚本,如下所示:
a. FROM_UNIXTIME((SELECT UNIX_TIMESTAMP(DATE_SUB('1969 -12-31 16:00:00',INTERVAL 1 SECOND))+(-28800000/1000)),'%Y-%m-%d %H:%i:%s'
- this返回NULL
B. DATE_FORMAT(FROM_UNIXTIME((SELECT UNIX_TIMESTAMP(DATE_SUB('1969 -12-31 16:00:00',INTERVAL 1 SECOND))+(-28800000/1000)),'%Y-%m-%d %H:%i:% s'),'%Y-%m-%dT% TZ')
- this返回NULL
c.DATE_FORMAT(DATE_ADD('1970 -01- 01',INTERVAL -28800000/1000 SECOND),'%Y-%m-%dT% TZ')
- 此返回1969-12- 31 T16:00:00 Z
1条答案
按热度按时间ycl3bljg1#
看起来你的时间戳是以秒为单位的,所以不需要除以1000。
结果:
您可以使用
DATE_FORMAT()
将其转换为本地时间