Ruby on rails 将时区名称传递给Time.new

Ruby on rails 将时区名称传递给Time.new,ruby-on-rails,ruby,time,timezone,Ruby On Rails,Ruby,Time,Timezone,我可以把时区名称或缩写传递给time.new吗。 我有所有的工作与抵消,但我需要时区,如太平洋标准时间,格林威治标准时间等 请看下面我的简单代码 下面的程序已经开始工作了 Time.new(year, month, day, hr, min, sec, utc_offset) 我想做一些类似以下的工作 Time.new(year, month, day, hr, min, sec, timezone_name/abbreviation) 非常感谢您的帮助。您可以使用这一个 Time.use_

我可以把时区名称或缩写传递给time.new吗。 我有所有的工作与抵消,但我需要时区,如太平洋标准时间,格林威治标准时间等

请看下面我的简单代码

下面的程序已经开始工作了

Time.new(year, month, day, hr, min, sec, utc_offset)
我想做一些类似以下的工作

Time.new(year, month, day, hr, min, sec, timezone_name/abbreviation)
非常感谢您的帮助。

您可以使用这一个

Time.use_zone('Dublin') { 
  # Time.now....
}
例如:

Time.use_zone('St. Petersburg') { DateTime.current }
2015年10月29日星期四17:24:40+0300

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

有关更多信息,请查看api()

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

Time.now.to_a
[20,42,9,30,10,2015,5303,假,“CET”]

你可以用这个

Time.use_zone('Dublin') { 
  # Time.now....
}
例如:

Time.use_zone('St. Petersburg') { DateTime.current }
2015年10月29日星期四17:24:40+0300

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

有关更多信息,请查看api()

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

Time.now.to_a
[20,42,9,30,10,2015,5303,假,“CET”]


我基本上想储存时区。类似于Thu,2015年10月29日15:24:59+0100 PST这在以下场景2.2.2:074>时间中失败。现在。在时区(“印第安纳州(东部)”)。到a=>[38,34,12,30,10,2015,5,303,真,“EDT”]2.2:075>时间。现在。在时区(“东部时间(美国和加拿大)”。到a=>[57,34,12,30,10,2015,5,303,真,“EDT”]我基本上想储存时区。类似于Thu,2015年10月29日15:24:59+0100 PST这在以下场景2.2.2:074>时间中失败。现在。在时区(“印第安纳州(东部)”)。到a=>[38,34,12,30,10,2015,5,303,真,“EDT”]2.2:075>时间。现在。在时区(“东部时间(美国和加拿大)”。到a=>[57,34,12,30,10,2015,5,303,真,“EDT”]小心-时区缩写可能模棱两可。例如,CST有5种不同的解释。是“中央标准时间”、“中国标准时间”等吗。。。有关更多示例,请参见。@MattJohnson感谢您的宝贵意见。但我只使用我们的区域。但你是对的。我想我应该储存完整的时区名称。小心-时区缩写可能会模棱两可。例如,CST有5种不同的解释。是“中央标准时间”、“中国标准时间”等吗。。。有关更多示例,请参见。@MattJohnson感谢您的宝贵意见。但我只使用我们的区域。但你是对的。我想我应该储存完整的时区名称。