在Rails中如何通过偏移量缩写(如EDT)查找对应的时区?
查找今年曾使用EDT时区的地区
我想通过EDT这类时区偏移量缩写,找到对应的时区,但尝试以下方法均返回nil:
irb(main):001:0> Time.find_zone("EDT") => nil irb(main):002:0> ActiveSupport::TimeZone["EDT"] => nil
(注:上述方法对EST有效)
查阅TZInfo文档后,我尝试使用offsets_up_to方法:
irb(main):013:0> TZInfo::Timezone.all.find { |tz| tz.offsets_up_to(Time.now).map(&:abbreviation).include?("EDT") } => #<TZInfo::TimezoneProxy: America/Cancun>
但这个结果不符合需求——坎昆曾使用夏令时和EDT,但现在已不再使用。我需要的不是当前处于EDT的时区,而是今年至少使用过EDT的时区。
内容的提问来源于stack exchange,提问作者Alexey Romanov
相关产品推荐
相关产品推荐

