列出国家/地区的时区

时间:2017-01-11 08:09:46

标签: ruby-on-rails ruby

我正在寻找在选择特定国家/地区时在轨道上显示红宝石国家/地区列表的代码,它会显示它的时区。例如,当我选择“英国"作为国家/地区,那么它应该显示“(GMT +00:00)London"作为时区。我的应用程序在Rails 3.2.11上运行。我使用国家 gem以及使用 ActiveSupport :: TimeZone 的所有时区显示所有国家/地区。我想知道Ruby on Rails是否默认提供此功能,或者是否有任何其他可能的方法来实现此功能。

2 个答案:

答案 0 :(得分:2)

您可以使用TimeZone课程。您可以通过以下方式获取所有时区列表:

zones_hash = ActiveSupport::TimeZone::MAPPING

您可以获得以下任何国家/地区的时区:

country_zone = ActiveSupport::TimeZone.new("Europe/Skopje")
country_zone.formatted_offset

以上示例的输出:+01:00

答案 1 :(得分:0)

在Rails 5.2中,这很简单:ActiveSupport::TimeZone.country_zones("US")