这几天遇到一个巨大的坑啊,数据存的时间是2点,但是前端页面显示的时间变成了16点,差了14个小时。
描述一下项目背景,服务在美国,项目是墨西哥项目,数据库的时间和服务器的时间都已经设置成了墨西哥时区,但是还是不对。
中间问过项目的大佬,大佬给的意见是连接数据的url上在设置时区 ,但是前端页面还是展示不正确。
经过几次定位发现在dev本地跑直接查出来的时间就会变。这是因为电脑的时区是中国时区。但是把时间打日志仍在服务器上,日志的时间是对的。所以这时候猜到是前端是时区问题。
因为后段传递的是时间戳,时间戳是没有时区的。所以说前端也需要改时区来对应
id : "crete_time",
renderer : function(idValue,value,record){
return value ? moment(value).tz("America/Guatemala").format("YYYY-MM-DD HH:mm:ss") : "---";
}
可以用moment.tz的方法设置时区