0

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

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

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

4

2 回答 2

1

您将需要知道您正在谈论的特定时区。澳大利亚有 5 个主要时区,在 TZDB 中有 13 个离散条目。你可以在这里阅读更多。

对于转换,使用TimeZoneInfoNoda Time

您还应该阅读时区标签 wiki

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

于 2013-08-09T05:12:59.663 回答
0

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

于 2018-11-02T07:30:33.923 回答