巴西政府刚刚颁布了一项法律,将巴西 DST(夏令时)的开始时间在当地称为夏令时。
这个新的 DST 日期将在下个月生效,更准确地说是 2018 年 11 月 18 日。所以,我们没有足够的时间通过操作系统更新等待新的 Olson 更新,也没有下载新的Olson 数据库包可能就足够了。
我已经tzdb-2018e.tar.tz
从https://www.iana.org/time-zones下载了文件。在该包中,我找到了该文件southamerica
,并且找到了以下条目:
...
# From Steffen Thorsen (2017-12-18):
# According to many media sources, next year's DST start in Brazil will move to
# the first Sunday of November, and it will stay like that for the years after.
# ... https://www.timeanddate.com/news/time/brazil-delays-dst-2018.html
# From Steffen Thorsen (2017-12-20):
# http://www.planalto.gov.br/ccivil_03/_ato2015-2018/2017/decreto/D9242.htm
Rule Brazil 2018 max - Nov Sun>=1 0:00 1:00 -
Rule Brazil 2023 only - Feb Sun>=22 0:00 0 -
...
2018 年进入规则之前的评论与 2017 年底的旧法律相匹配,但有一项新法律将其更改为 2018 年 11 月的第三个星期日。
如何修复奥尔森条目将其转移到 11 月的第三个星期日?我已经尝试过Sun>=3
了,它没有工作。
您需要指定
Sun>=15
:第三个星期日是第一个星期日,也是该月的第十五天或更大的一天。过去通过发行版更新成功地处理了这种最后一刻的变化;很有可能很快会有更新。(当然,这对现在需要处理 11 月约会的人没有帮助。)
你可以从 github 上得到它,它已经在 5 天前被修改了。
有关tz 文件,请参阅https://github.com/eggert/tz/blob/master/southamerica
southamerica
和https://github.com/eggert/tz/commit/efda0562d7fc7bc90b6cab76998fab8b4953e056用于相关提交
至于在官方 TZ 表中发布新更新 - aka 2018f: