从 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 TimeCentral Europe Standard Time W. Europe Standard Time 仍然代表整个时区 - 包括可能处于夏令时(又名“夏令时”)的时期。

你不应该在夏令时期间选择不同的时区。

只有一个警告:Windows 计算机有一项 date/time 设置,称为“自动调整夏令时”。这是默认打开的,在大多数情况下永远不要关闭。但是,如果用户关闭它,那么他们将无法从系统了解如何正确应用夏令时中获益。

在 .NET 中(如您标记问题 C#),此行为仅通过使用系统本地时区的 API 在 Windows 上出现,例如 DateTime.NowTimeZoneInfo.Local.如果您通过标识符请求时区,则无论系统的 DST 设置如何,DST 始终会正确应用。