Я застрял в этой проблеме почти 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 находится в США, что приводит к этому расхождению.
Может ли кто-нибудь указать мне правильное решение?
Заранее спасибо!
По умолчанию Heroku использует UTC. Чтобы изменить это, установите предпочтительный часовой пояс в формате TZ Database Timezone (http://en.wikipedia.org/wiki/List_of_tz_database_time_zones)
Например, для тихоокеанского времени:
$ heroku config:add TZ="America/Los_Angeles"