.net中的夏令时

时间:2013-07-21 06:57:46

标签: .net time timezone dst

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

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

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

2 个答案:

答案 0 :(得分:1)

您需要知道您所谈论的具体时区。澳大利亚有5个主要时区,TZDB有13个独立的条目。您可以阅读更多here

要进行转换,请使用TimeZoneInfoNoda Time

您还应该阅读timezone tag wiki

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

答案 1 :(得分: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