После запуска зоны (-1) я получаю тот же объект момента, что и когда я его не запускаю. Пример:
console.log (момент (). utc (). toDate ());
console.log (момент (). utc (). zone (-1) .toDate ());
Я ожидал, что это изменит объект Date в соответствии с смещением часового пояса, но он не делает ... ну, ничего.
Moment отслеживает экземпляры во времени (то есть миллисекунды с 1970 UTC). Что вы делаете, когда говорите utc()
или zone()
, вы меняете то, как это время _выражается_ (т. Е. Мы говорим «9:00» по EST, но «6:00» по PST , но это то же самое время). Таким образом, при обратном преобразовании в дату удаляются метаданные «вы должны печатать даты по-другому». Все еще то же время.
Похоже, вы хотите изменить фактическое время? У нас нет функции «изменить время, чтобы оно отображалось таким же образом в этой другой зоне», однако мы обсуждали это (или мы, @ichernev?)
Да, я хочу изменить фактическое время. Это довольно ограничивает, и мне, вероятно, придется прекратить использовать эту библиотеку из-за этого ограничения.
@rquinlivan Я копнул немного глубже. Вы можете передать второй аргумент zone()
чтобы время на настенных часах оставалось неизменным:
> moment().format()
'2014-09-15T16:59:30-04:00'
> moment().zone(-1).format()
'2014-09-15T21:59:35+01:00'
> moment().zone(-1, true).format()
'2014-09-15T16:59:38+01:00'
Итак, вы получите:
> moment().toDate()
Mon Sep 15 2014 17:00:16 GMT-0400 (EDT)
> moment().zone(-1, true).toDate()
Mon Sep 15 2014 12:00:19 GMT-0400 (EDT)
Я считаю, что это то, чего вы хотите.
FWIW, каждый сможет быстрее помочь вам с открытым исходным кодом, если вы подойдете к вопросу о функциональном пробеле со словами «эй, мне нужна эта функция, чем я могу помочь?» а не как ты.
Самый полезный комментарий
@rquinlivan Я копнул немного глубже. Вы можете передать второй аргумент
zone()
чтобы время на настенных часах оставалось неизменным:Итак, вы получите:
Я считаю, что это то, чего вы хотите.
FWIW, каждый сможет быстрее помочь вам с открытым исходным кодом, если вы подойдете к вопросу о функциональном пробеле со словами «эй, мне нужна эта функция, чем я могу помочь?» а не как ты.