0

我有以下用户可以选择的时区列表,亚利桑那州的山地标准时间有两次。这些不是他们在选择时看到的。我提取了一个包含所有 Microsoft 时区的网站列表。我想如果它列出了常规州和亚利桑那州的山地标准时间,我会感到困惑。

夏威夷标准时间

阿拉斯加标准时间

太平洋标准时间

山区标准时间

山区标准时间

中部标准时间

中美洲标准时间

东部标准时间

美国东部标准时间

我的问题是我猜这些不考虑 DST,所以我假设我需要在我的转换中添加一些东西来检查它们是否在 DST 中并相应地调整它。这是我现在进行转换的方式。

TimeZoneInfo time = TimeZoneInfo.FindSystemTimeZoneById(LocationProvider.GetLocation(LocationID).TimeZone.Name);
return TimeZoneInfo.ConvertTime(DateTime.Now, time);
4

1 回答 1

2

是的,TimeZoneInfo只要您正确使用 DST(诚然,这并不容易),就可以考虑 DST。目前还不清楚你为什么要尝试做你正在做的事情......

我知道 ID 实际上是时区的标准ID 令人困惑,但它仍然是一个了解 DST 的完整时区。它不仅仅意味着“标准时间”。

(如果您对DateTimeet al 感到沮丧并想尝试Noda Time来满足您所有的日期/时间需求,我很乐意提供帮助:)

于 2012-03-30T22:10:24.240 回答