关于时区:如何更改Heroku夏令时设置

How to change Heroku daylight saving setting

我可以设法改变Heroku的时区,但它仍然比我当地时间少一个小时。
任何人都可以帮助如何在Heroku上设置DST(夏令时)偏移?


Heroku应用程序在普通的unix系统上运行,你有所有的zoneinfo文件。我也很确定他们是最新的。

对于unix来说,你应该可以设置你的TZ env var,例如:

1
$ heroku config:set TZ=Europe/Berlin

您可以使用以下命令查看有效的zoneinfo名称:

1
$ heroku run find /usr/share/zoneinfo/posix

但是,一般来说,您需要在UTC环境中运行应用程序,并在内部处理时区,可能会在每个用户的基础上处理本地时间。

我怀疑这可能不能完全回答你的问题。您可能希望扩展您正在尝试实现的目标,以及如何实现目标,以及您如何观察"比本地更少一小时"效果。


我和Heroku的Symfony项目的php和DateTime()有类似的问题。我意识到中欧夏季日光变化后的时差。即使在heroku设置时区也无法解决问题:

$ heroku config:set TZ=Europe/Berlin

当我在服务器端读出phpinfo()时,UTC的设置,所以我决定改变Heroku的php.ini设置。这是Heroku的一篇文章:

https://devcenter.heroku.com/articles/custom-php-settings#php-runtime-settings

通过将.user.ini文件添加到Web根目录,您可以调整应用程序的设置。例如。通过添加date.time设置:

date.timezone = Europe/Berlin

我知道这不是全球使用的最佳解决方案,但它到目前为止工作,我的symfony应用程序现在只对中欧很重要。