时区时区将时间戳调整为时区并返回值

时间:2018-05-30 12:13:38

标签: timezone momentjs moment-timezone

我尝试使用moment-timezone修改时间戳时区,我希望使用应用的偏移量获取修改后的值

var newTimestamp = momentTz.tz(timestamp, 'Europe/Berlin')

所以这就是我的尝试

    var results = {};

    for (var timestamp in timestamps) {
         var commitCount = timestamps[timestamp];
         console.log(typeof timestamp)
         console.log(timestamp)
         console.log(moment(timestamp).format())
         //console.log(moment.tz(timestamp, 'Europe/Berlin'))
         //results[ moment.tz(timestamp, 'Europe/Berlin')] = commitCount;
   };

这是日志

的摘录
string
1528063200
Invalid date

如何获取新时间戳?

1 个答案:

答案 0 :(得分:0)

您的timestamp值似乎是包含Unix Time值的字符串,以秒为单位。您可以使用X格式说明符解析它们。

但是,您无法获得针对时区调整的此格式的时间戳。这是因为Unix Time值基于UTC 总是。他们在一个时区是没有意义的。任何这样的值都会出错。

可以发出一个基于字符串的格式,例如ISO 8601 - 当你不向format函数提供任何参数时,这是默认的

简而言之:

moment.tz('1528063200', 'X', 'Europe/Berlin').format() //=> '2018-06-04T00:00:00+02:00'