момент часовой пояс скорректировать временную метку на часовой пояс и вернуть значение - PullRequest
0 голосов
/ 30 мая 2018

Я пытаюсь изменить временную зону меток времени с моментом-часовым поясом, и я хочу получить измененное значение с примененным смещением

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 голосов
/ 05 июня 2018

Похоже, что ваши timestamp значения являются строками, которые содержат Unix Time значения в секундах.Вы можете проанализировать их с помощью спецификатора формата X в данный момент.

Однако вы не можете получить метку времени в этом формате, настроенную для часового пояса.Это связано с тем, что значения времени Unix всегда на основе UTC.Для них бессмысленно находиться в часовом поясе.Любое такое значение может быть ошибочным.

Вы можете , однако выдает строковый формат, такой как ISO 8601 - который используется по умолчанию, если вы этого не сделаетепредоставить любые аргументы для функции format.

Короче:

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