【问题标题】:TimeZoneInfo and Daylight SavingTimeZoneInfo 和夏令时
【发布时间】:2014-02-22 07:16:35
【问题描述】:

我使用TimeZoneInfo.ConvertTime 方法将源时区转换为目标时区。这对我来说很好。我想知道,如果目标时区的夏令时已更改,它将在 .Net 4.0 中自动处理。

以下是我用于转换的代码。

TimeZoneInfo.ConvertTime(DateTime.Now, TimeZoneInfo.Local, timeZoneInfo)

【问题讨论】:

  • 你自己试试看吧?

标签: c# .net c#-4.0 .net-4.0 timezone


【解决方案1】:

是的,TimeZoneInfo.ConvertTime 尽可能处理夏令时。

但是,请注意,如果您使用的 DateTime 带有某种“未指定”(例如从字符串中解析),则在您的源时区中可能不明确。 (例如,如果时钟从凌晨 2 点回到凌晨 1 点,那么当天凌晨 1.30 会发生两次。)这对DateTime.Now 来说应该不是问题,因为“本地”类型实际上可以是“本地和更早的”模棱两可的时代”或“本地和模棱两可的时代之后”。

如果您想更好地控制转换 - 以及拥有更多描述性类型 - 您可能想看看我的 Noda Time 库。

【讨论】:

    猜你喜欢
    • 2011-10-25
    • 2012-07-03
    • 2021-01-08
    • 2011-06-26
    • 1970-01-01
    • 2014-05-06
    • 2011-07-30
    • 2015-10-15
    • 2012-10-23
    相关资源
    最近更新 更多