更改Time.now在服务器上返回不同的时区
问题描述:
我有一个应用程序部署在系统时间晚于UTC 7小时的服务器上。我实际上在英格兰,所以我希望在当地时间格林尼治标准时间(夏时制调整)显示时间。更改Time.now在服务器上返回不同的时区
我正在使用的宝石resque使用Time.now检索当前时间。我需要配置什么才能让Time.now返回正确的时间?
答
最简单的方法是设置ENV [“TZ”]变量。
> Time.now
=> 2011-05-21 13:13:23 +0200
> ENV["TZ"] = "Europe/London"
=> "Europe/London"
> Time.now
=> 2011-05-21 12:13:55 +0100
我想你没有机会,只是设置正确的时区的服务器上,例如在Debian机器上用'dpkg-reconfigure tzdata'? – 2011-05-21 14:08:14
我正在使用dotcloud并且没有root权限。使用环境变量是很好的,因为这意味着我不必单独配置每个服务器。 – opsb 2011-05-22 20:32:40