【问题标题】:Daylight saving time in .net.net 中的夏令时
【发布时间】:2013-07-20 03:24:33
【问题描述】:

我正在开发一个 ASP.NET 应用程序。

我想知道如何检查特定日期是否在澳大利亚的夏令时。

例如,我想检查12/12/2013 12:30PM 在澳大利亚是否处于夏令时。

【问题讨论】:

    标签: .net time timezone dst


    【解决方案1】:

    您需要知道您所说的具体时区。澳大利亚有 5 个主要时区,在 TZDB 中有 13 个离散条目。你可以阅读更多here

    对于转换,请使用TimeZoneInfoNoda Time

    您还应该阅读timezone tag wiki

    如果您可以更具体一些,并显示您尝试过的代码,我将更新此答案并提供更详细的回复。

    【讨论】:

      【解决方案2】:

      Jon Skeet 的 NodaTime 库将 Tzdb 公开为 DateTimeZoneProviders 之一。

      public void Test_NodaTime_IsDaylightSavingTime()
      {
          var ts = new DateTime(1980, 4, 15, 12, 0, 0);
          var local = LocalDateTime.FromDateTime(ts);
          var zdt = Utils.TzEast.ResolveLocal(local, Utils.CustomResolver);
          Assert.IsFalse(zdt.IsDaylightSavingTime());
      }
      

      https://www.timehubzone.com/time/zones

      【讨论】:

        猜你喜欢
        • 2011-08-14
        • 2011-10-31
        • 2015-03-10
        • 2011-06-26
        • 2015-11-14
        • 2019-12-27
        • 2014-05-12
        • 2023-03-20
        • 2015-08-15
        相关资源
        最近更新 更多