Как изменить таймзону приложения на Heroku?

После конфигурации и деплоя небольшого приложения на Heroku было обнаружено, что время и даты работают совсем не так, как ожидалось. Проблема довольно очевидная, но иногда простые проблемы заставляют подумать минуту-другую.

Проверка текущего часового пояса осуществляется следующим образом (Heroku CLI):

heroku config:get TZ --app=theglitchy-staging

В результате была получена пустая строка, что означает - нам пора установить TZ.

Для установки TimeZone из CLI выполним:

heroku config:add TZ="America/Monterrey" --app=theglitchy-staging

Вывод:

Setting TZ and restarting ⬢ theglitchy-staging... done, v67
 ▸    Release command executing: this config change will not be available until
 ▸    the command succeeds. Use `heroku releases:output` to view the log.
TZ: America/Monterrey

Данная команда прописала в таймзону переданное ей значение. Убедиться в том, что правки были внесены можно выполнив:

heroku config:get TZ --app=theglitchy-staging

=> America/Monterrey

Чтобы изменить/проверить таймзону из веб-интерфейса, необходимо:
  • Залогиниться на Heroku Dashboard
  • Перейти на нужное приложение
  • Выбрать Settings вкладку
  • Развернуть переменные среды нажав на кнопку "Reveal Config Vars"

В случае, если там уже установлена таймзона - нам нужно лишь изменить значение ключа "TZ":

Heroku Dashboard Config Vars - TimeZome


Если значения TZ нет - его нужно создать вручную. Список TZ можно посмотреть на Википедии.