我有一個應用程序部署在系統時間晚於UTC 7小時的服務器上。我實際上在英格蘭,所以我希望在當地時間格林尼治標準時間(夏時制調整)顯示時間。更改Time.now在服務器上返回不同的時區
我正在使用的寶石resque使用Time.now檢索當前時間。我需要配置什麼才能讓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
檢查出一些「時間扭曲」寶石:http://ruby-toolbox.com/categories/time_warping.html
我想你沒有機會,只是設置正確的時區的服務器上,例如在Debian機器上用'dpkg-reconfigure tzdata'? – 2011-05-21 14:08:14
我正在使用dotcloud並且沒有root權限。使用環境變量是很好的,因爲這意味着我不必單獨配置每個服務器。 – opsb 2011-05-22 20:32:40