Время отображается неправильно на Heroku, но правильно на localhost, используя момент

1

Я застрял в этой проблеме почти 5 часов! Пробовал много решений онлайн и исчерпал их все, но безрезультатно. Поблагодарите любую форму помощи!

У меня есть строка на моем localhost:

datestring = 'Fri, 04 Aug 2017 14:15:17 GMT' 

Прохождение через мгновение даст мне:

datestring = moment.utc(datestring).format('LLLL')
>> Friday, August 4, 2017 2:15 PM

Это показано на моем локальном хосте, и это правильно. Однако, когда я развертываю его в Хероку, дата и время ошибочны:

>> Thursday, August 3, 2017 6:24 PM

Мой часовой пояс - UTC +8. Я думал, что, используя функцию moment.utc, он уже стандартизовал дату и время, поэтому время, показанное на Heroku, должно быть также UTC +8.

После проверки некоторых решений в Интернете я также установил переменную конфигурации TZ в heroku как Asia/Singapore, чтобы гарантировать, что Heroku находится в часовом поясе UTC +8.

Я подозреваю, что это связано с тем, что сервер Heroku находится в США, что приводит к этому расхождению.

Может ли кто-нибудь указать мне правильное решение?

Заранее спасибо!

Теги:
momentjs
heroku

1 ответ

0

По умолчанию Heroku использует UTC. Чтобы изменить это, установите предпочтительный часовой пояс в формате TZ Database Timezone (http://en.wikipedia.org/wiki/List_of_tz_database_time_zones)

Например, для тихоокеанского времени:

$ heroku config:add TZ="America/Los_Angeles"

  • 0
    Да, я сделал это! но он все равно показывает неправильную дату и время на герою! :(

Ещё вопросы

Сообщество Overcoder
Наверх
Меню