尝试使用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)
所有日期都在过去,所以如何解决这个问题,以便我在几个小时内没有时间?
答案 0 :(得分:2)
根据文件https://momentjs.com/docs/#/displaying/fromnow/
您可以自定义区域设置https://momentjs.com/docs/#/customization/relative-time/
默认语言区域future time
将future: "in %s",
为in
,这与文档相同。如果要更改它,请更新语言环境并按需使用。
希望这有帮助
答案 1 :(得分:2)
您需要使用moment.utc
告知此日期是UTC格式var utcTime = new Date(timestamp);
var timeAgo = moment.utc(utcTime).fromNow();
如果你不这样做,那么我们假定这个日期在你当地的时区(我可以通过偏移来判断东部标准时间)。
在您当地的时区,此日期实际上是将来的5个小时。仅在几秒钟之前就是UTC,因为您当地的时区比UTC晚了5个小时。