将时区名称传递给Time.new

时间:2015-10-29 14:13:05

标签: ruby-on-rails ruby time timezone

我可以以某种方式将时区名称或缩写传递给Time.new。 我已经全部使用偏移但我需要时区,如PST,GMT等等。

请在下面看一下我的简单代码。

以下工作已经

Time.new(year, month, day, hr, min, sec, utc_offset)

我想要跟随工作。

Time.new(year, month, day, hr, min, sec, timezone_name/abbreviation)

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

你可以使用这个

Time.use_zone('Dublin') { 
  # Time.now....
}

示例:

Time.use_zone('St. Petersburg') { DateTime.current }
  

星期四,2015年10月29日17:24:40 +0300

Time.use_zone('Berlin') { DateTime.current }
  

2015年10月29日星期四15:24:59 +0100

有关更多信息,请查看api(http://apidock.com/rails/Time/use_zone/class

更新: 您可以将所有时间信息提取到数组中:

Time.now.to_a
  

[20,42,9,30,10,2015,5,303,false," CET"]