首页 > 其他分享 >Daylight Savings Time

Daylight Savings Time

时间:2022-12-04 08:22:19浏览次数:52  
标签:00 Savings US lastSun Daylight Rule https Time com

1. Google Mainline Timezone

Mainline 模块 com.google.android.tzdata3 使用了 ICU 的数据和接口:
http://aospxref.com/android-12.0.0_r3/xref/external/icu/
http://aospxref.com/android-12.0.0_r3/xref/system/timezone/
https://aospxref.com/android-12.0.0_r3/xref/cts/common/device-side/util-axt/src/com/android/compatibility/common/util/mainline/MainlineModule.java

2. ICU 模块以及 IANA 数据

ICU 的数据来自 IANA:
ICU - International Components for Unicode
https://github.com/unicode-org/icu
https://www.iana.org/time-zones
以美国为例,可看到 2007 年开始,夏令时开始和结束时间已基本没有变化了:
\tzdata2022f.tar.gz\tzdata2022f.tar\northamerica

# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
Rule	US	1918	1919	-	Mar	lastSun	2:00	1:00	D
Rule	US	1918	1919	-	Oct	lastSun	2:00	0	S
Rule	US	1942	only	-	Feb	9	2:00	1:00	W # War
Rule	US	1945	only	-	Aug	14	23:00u	1:00	P # Peace
Rule	US	1945	only	-	Sep	30	2:00	0	S
Rule	US	1967	2006	-	Oct	lastSun	2:00	0	S
Rule	US	1967	1973	-	Apr	lastSun	2:00	1:00	D
Rule	US	1974	only	-	Jan	6	2:00	1:00	D
Rule	US	1975	only	-	Feb	lastSun	2:00	1:00	D
Rule	US	1976	1986	-	Apr	lastSun	2:00	1:00	D
Rule	US	1987	2006	-	Apr	Sun>=1	2:00	1:00	D
Rule	US	2007	max	-	Mar	Sun>=8	2:00	1:00	D
Rule	US	2007	max	-	Nov	Sun>=1	2:00	0	S

在历史上,不同的地区也可能会存在与国家不同的夏令时,这也会在各个地区上进行标记,确保时间的可回溯性。

3. 结论

IANA tzdata中包含了各个国家的夏令时开始时间,结束时间信息,但是没有找到利用该时间信息的 API。
当然,也可以通过脚本导出该夏令时开始和结束时间的合适格式,给各种场景使用。

4. 参考资料

zoneinfo — IANA time zone support
https://docs.python.org/3/library/zoneinfo.html

tzdata
https://github.com/python/tzdata
https://pypi.org/project/tzdata/
https://tzdata.readthedocs.io/en/latest/index.html

timeanddate
https://www.timeanddate.com/
https://www.timeanddate.com/time/dst/2022.html

Android中的Unicode国际组件(ICU)库
https://www.jianshu.com/p/920acad5ec53
国际化组件 Unicode (ICU) 函数库
https://cloud.tencent.com/developer/article/1694599

标签:00,Savings,US,lastSun,Daylight,Rule,https,Time,com
From: https://www.cnblogs.com/wuhen1024/p/16949367.html

相关文章