2012-08-09 115 views
3

假設我需要在柏林時區獲取凌晨3點的時間對象。 我無法弄清楚這一點。如何在Rails中的特定時區獲取特定時間

如果我這樣做,

Time.parse("03:00am").in_time_zone('Berlin') 

我得到轉換爲柏林時區當前時區的凌晨3點。 但我需要柏林時區的早上3點。

回答

7

嘗試使用Time.use_zone設置時區臨時

> Time.use_zone("Berlin") do 
>  t = Time.zone.parse("3:00am") 
> end 
=> Thu, 09 Aug 2012 03:00:00 CEST +02:00 
+0

我花了3個小時才找到這個正確的解決方案,謝謝 – kubbing 2013-10-31 19:28:23

0

試試這個,

Time.zone = "Berlin" 
Time.zone.parse("03:00am") 
0

我有同樣的問題,並沒有想改變Time.zone,因爲它在多個持續要求。

訣竅(和更安全的方法,因爲它不會像Time.zone一樣更改任何系統設置)將時間(AND區)放入Time.parse可用的格式中。下面是美國太平洋時間的一個例子 - 插入您想要的TZ格式的時區字符串,而不是:

Time.parse(「2012年10月1日8:00:00太平洋時間(美國&加拿大)」)

相關問題