moment.js如何显示东八区时间?
刚刚接触nodejs,写了一个小程序。 在ejs模版中调用: moment(docs[i].createdAt).format(‘YYYY-MM-DD HH:mm:ss’) 在本地显示时间是正确的: 在服务器上显示的时间和本地相差8小时: 如何用moment.js来显示东八区的时间呢?
3 回复
Unless you specify a timezone offset, parsing a string will create a date in the current timezone.
moment("2010-10-20 4:30", "YYYY-MM-DD HH:mm"); // parsed as 4:30 local time
moment("2010-10-20 4:30 +0000", "YYYY-MM-DD HH:mm Z"); // parsed as 4:30 UTC
解决方法:
先转成utc时间,再指定时区。 代码: <%= moment(docs[i].createdAt).utc().zone(-8).format(‘YYYY-MM-DD HH:mm:ss’) %>
程序只需要支持一个时区的用户的话,可以把服务器的时区改成你的时区。
多时区的话,要记录用户所在时区,时间显示时加时区offset。