Ruby on rails tzinfo数据+;Rails报告的爱尔兰时区偏移错误

Ruby on rails tzinfo数据+;Rails报告的爱尔兰时区偏移错误,ruby-on-rails,ruby,tzinfo,Ruby On Rails,Ruby,Tzinfo,我在试图恢复爱尔兰的时区时看到了一些奇怪的结果 在Mac OS X上(无tzinfo数据) 使用tzinfo数据1.2018.5 > require 'tzinfo/data' > TZInfo::Timezone.get('Europe/Dublin').current_period.utc_offset => 3600 我发现了问题。事实证明,爱尔兰实际上在冬季使用负偏移量,而在夏季使用正偏移量(它是目前世界上唯一一个这样做的国家) 最新的IANA时区版本2018f正确地

我在试图恢复爱尔兰的时区时看到了一些奇怪的结果

在Mac OS X上(无tzinfo数据)

使用tzinfo数据1.2018.5

> require 'tzinfo/data'
> TZInfo::Timezone.get('Europe/Dublin').current_period.utc_offset
=> 3600

我发现了问题。事实证明,爱尔兰实际上在冬季使用负偏移量,而在夏季使用正偏移量(它是目前世界上唯一一个这样做的国家)


最新的IANA时区版本2018f正确地使用了爱尔兰的负偏移量,而早期(发布)版本在夏季使用了不同的基准时区和正偏移量。

偏移量确实应该包括DST。您可以尝试使用,例如,使用模拟另一个日期,然后再次查找时区信息。但我看不到其他区域的时区偏移。例如:>时区选项(适用于select.split.select{124; opt | opt=~/London | Madrid | Paris/}>[“value=”London\”>(GMT+00:00)”,“London”,“value=”Madrid\“>(GMT+01:00)”,“Madrid”,“value=”Paris\>(GMT+01:00)”,“Paris”]这些地方使用的实际偏移量是+1、+2和+2。我以为我今天疯了,因为在我的mac电脑上本地运行测试和在prod的ubuntu服务器上运行测试之间存在差异。
=> ["value=\"Dublin\">(GMT+01:00)", "Dublin</option>"]
=> ["value=\"Dublin\">(GMT+01:00)", "Dublin</option>"]
> require 'tzinfo/data'
> TZInfo::Timezone.get('Europe/Dublin').current_period.utc_offset
=> 0
> require 'tzinfo/data'
> TZInfo::Timezone.get('Europe/Dublin').current_period.utc_offset
=> 3600