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