解析utc

时间:2017-11-29 22:27:49

标签: javascript date datetime momentjs

尝试使用now.js from now来从服务器上格式化utc时间,但在某些情况下我会在5小时内得到#34;"代替。

来自服务器的时间戳 - 2017-11-29T15:03:21

var utcTime = new Date(timestamp);
var timeAgo = moment(utcTime).fromNow();    
console.log(timeAgo)

所有日期都在过去,所以如何解决这个问题,以便我在几个小时内没有时间?

2 个答案:

答案 0 :(得分:2)

根据文件https://momentjs.com/docs/#/displaying/fromnow/

您可以自定义区域设置https://momentjs.com/docs/#/customization/relative-time/

默认语言区域future timefuture: "in %s",in,这与文档相同。如果要更改它,请更新语言环境并按需使用。

希望这有帮助

答案 1 :(得分:2)

您需要使用moment.utc

告知此日期是UTC格式
var utcTime = new Date(timestamp);
var timeAgo = moment.utc(utcTime).fromNow();

如果你不这样做,那么我们假定这个日期在你当地的时区(我可以通过偏移来判断东部标准时间)。

在您当地的时区,此日期实际上是将来的5个小时。仅在几秒钟之前就是UTC,因为您当地的时区比UTC晚了5个小时。