从 Microsoft Windows 时区数据库获取 CEST 时间
Getting CEST time from the Microsoft Windows Time Zone Database
有很多国家/地区从 CET
(欧洲中部时间) 更改为 CEST
(欧洲中部夏令时间) ) DST
(夏令时)。
所以我认为 Microsoft 时区数据库会将 CEST
作为时区,但我只能找到 CET
。
CET has an UTC-Offset of +1
CEST has an UTC-Offset of +2
如果我只是使用与 CEST
偏移量相同的另一个时区,会不会有问题?如果是这样,我还应该如何从数据库中获取 CEST
时间?
在其标识符中包含“标准”一词的 Microsoft Windows 时区,例如 Pacific Standard Time
、Central Europe Standard Time
或 W. Europe Standard Time
仍然代表整个时区 - 包括可能处于夏令时(又名“夏令时”)的时期。
你不应该在夏令时期间选择不同的时区。
只有一个警告:Windows 计算机有一项 date/time 设置,称为“自动调整夏令时”。这是默认打开的,在大多数情况下永远不要关闭。但是,如果用户已关闭它,那么他们将无法从系统了解如何正确应用夏令时中获益。
在 .NET 中(如您标记问题 C#),此行为仅通过使用系统本地时区的 API 在 Windows 上出现,例如 DateTime.Now
或 TimeZoneInfo.Local
.如果您通过标识符请求时区,则无论系统的 DST 设置如何,DST 始终会正确应用。
有很多国家/地区从 CET
(欧洲中部时间) 更改为 CEST
(欧洲中部夏令时间) ) DST
(夏令时)。
所以我认为 Microsoft 时区数据库会将 CEST
作为时区,但我只能找到 CET
。
CET has an UTC-Offset of +1
CEST has an UTC-Offset of +2
如果我只是使用与 CEST
偏移量相同的另一个时区,会不会有问题?如果是这样,我还应该如何从数据库中获取 CEST
时间?
在其标识符中包含“标准”一词的 Microsoft Windows 时区,例如 Pacific Standard Time
、Central Europe Standard Time
或 W. Europe Standard Time
仍然代表整个时区 - 包括可能处于夏令时(又名“夏令时”)的时期。
你不应该在夏令时期间选择不同的时区。
只有一个警告:Windows 计算机有一项 date/time 设置,称为“自动调整夏令时”。这是默认打开的,在大多数情况下永远不要关闭。但是,如果用户已关闭它,那么他们将无法从系统了解如何正确应用夏令时中获益。
在 .NET 中(如您标记问题 C#),此行为仅通过使用系统本地时区的 API 在 Windows 上出现,例如 DateTime.Now
或 TimeZoneInfo.Local
.如果您通过标识符请求时区,则无论系统的 DST 设置如何,DST 始终会正确应用。