You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 20:00:47