我目前正在做一个项目,我想收集所有当前时区的所有时区信息。
WinApi.Windows.GetTimeZoneInformation
函数仅返回当前时区数据。有没有办法获取所有时区的列表?
根据 https://www.iana.org/time-zones,我不需要它 100% 准确,也不需要将其存储在数据库中。我只需要获取数据供用户选择其他时区进行提醒。
由于您将其标记为 winapi
,因此可以查询以下注册表路径:
HKLMSOFTWAREMicrosoftWindows NTCurrentVersionTime 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;