我正在开发一个ASP.NET应用程序。
我想知道如何检查特定日期是否在澳大利亚的夏令时期间。
例如,我想检查12/12/2013 12:30PM
是否在澳大利亚的夏令时。
答案 0 :(得分:1)
您需要知道您所谈论的具体时区。澳大利亚有5个主要时区,TZDB有13个独立的条目。您可以阅读更多here。
要进行转换,请使用TimeZoneInfo
或Noda 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());
}