2012-08-09 112 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太平洋时间(美国&加拿大)”)

相关问题