代码之家  ›  专栏  ›  技术社区  ›  Bob Horn

中央标准休息时间1小时

  •  4
  • Bob Horn  · 技术社区  · 6 年前

    我有个问题,我的时间休息了一个小时。我正在尝试创建一个具有CT时区的时间。在这样做的过程中,我有一行代码:

    var zone = TimeZoneInfo.FindSystemTimeZoneById("Central Standard Time");
    

    它显示了:

    (UTC-06:00)中部时间(美国和加拿大)

    为什么?现在是2018年7月12日,CT是UTC-05。为什么我的调试信息显示UTC-06?在vs调试器中,对象还具有以下特性:

    SupportsDaylightSavingTime=真

    如果重要的话,我在ET,现在是UTC-04。

    1 回复  |  直到 6 年前
        1
  •  5
  •   laika    6 年前

    TimeZoneInfo.BaseUtcOffset

    TimeZoneInfo.GetUtcOffset

    var zone = TimeZoneInfo.FindSystemTimeZoneById("Central Standard Time");
    var baseOffset = zone.BaseUtcOffset; // UTC-06:00
    var actualOffset = zone.GetUtcOffset(DateTime.UtcNow); // UTC-05:00