Часовой пояс момент запутанный, понятия не имею, как заставить его работать - PullRequest
0 голосов
/ 26 декабря 2018

У меня есть метка времени UTC, поступающая из базы данных

Мое местное время здесь - Америка / Ванкувер.

Так, например, в базе данных у меня есть

   2018-12-26 08:28:00

Я хочу, чтобы это отображалось как

2018-12-25 12:28:00

на 8 часов вперед.

В настоящее время я сделал это

return moment(timestamp).tz('America/Vancouver').format()

И это возвращает

2018-12-26 08:28:00 -08:00

Что верно, показывать - восемь часов.Но как мне заставить его отображать правильное время, включая это 8-часовое смещение?

Я думал, что момент должен был сделать это для вас автоматически?Но, похоже, это не так.

 moment(timestamp).tz('America/Vancouver').fromNow()

дает мне «через 8 часов».Принимая во внимание, что это должно дать мне "11 минут назад"

Как я могу получить момент-часовой пояс, чтобы фактически сделать свое дело ??Согласно примерам, то, что я делаю, должно работать, но это не так.

Например,

return moment(timestamp).tz('America/Vancouver').format('MM-DD-YYYY H:i:s)

возвращает

12-26-2018 08:26:00 

Какое значение UTC, а неофсетная стоимость Ванкувера ???Какие гфивы?

1 Ответ

0 голосов
/ 26 декабря 2018

Moment.js будет анализировать даты с часовым поясом, который он может обнаружить на вашем компьютере.если вам нужно разобрать дату UTC, вам нужно использовать метод .utc.

moment.utc(timestamp).tz('America/Vancouver').format()
...