假设我需要在柏林时区获得凌晨3点的Time对象。 我无法弄清楚这一点。
如果我这样做,
Time.parse("03:00am").in_time_zone('Berlin')
我将当前时区的凌晨3点转换为柏林时区。 但我需要柏林时区的凌晨3点。
答案 0 :(得分:8)
尝试使用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
答案 1 :(得分:0)
试试这个,
Time.zone = "Berlin"
Time.zone.parse("03:00am")
答案 2 :(得分:0)
我遇到了同样的问题,并且不想更改Time.zone,因为它会持续存在多个请求。
技巧(更安全的方法,因为它不会改变任何系统设置,如Time.zone)是将时间(AND区域)放入Time.parse可用的格式。以下是美国太平洋时间的示例 - 请插入所需的TZ格式时区字符串:
Time.parse(“太平洋时间2012-10-1 8:00:00(美国和加拿大)”)