我目前正在一个项目中,我想收集所有当前时区的所有时区信息。
WinApi.Windows.GetTimeZoneInformation
函数仅返回当前时区数据。有没有办法获取所有时区的列表?
根据https://www.iana.org/time-zones,我不需要100%准确,也不需要将其存储在数据库中。我只需要获取数据,以便用户选择其他时区来提醒。
答案 0 :(得分:1)
由于您将其标记为winapi
,因此可以查询以下注册表路径:
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones
关键二进制blob TZI
对应于REG_TZI_FORMAT
结构,在Delphi中看起来像这样:
uses WinApi.Windows;
REG_TZI_FORMAT = record
Bias: LONG;
StandardBias: LONG;
DaylightBias: LONG;
StandardDate: SYSTEMTIME;
DaylightDate: SYSTEMTIME;
end;