ConvertTimeFromUTC,处理澳大利亚夏令时



我有以下代码,我在澳大利亚堪培拉有一个客户。它们通常是 UTC+10,但它们现在处于 DST 状态,因此它是 UTC+11。奇怪的是,当我运行此代码时,它没有考虑DST,我认为ConvertTimeFromUTC处理DST。

E. Australia Standard Time传递为"时区"参数。有什么想法吗?

var myTimeZone = TimeZoneInfo.FindSystemTimeZoneById(timeZone);
var currentDateTime = TimeZoneInfo.ConvertTimeFromUtc(DateTime.UtcNow, myTimeZone);
return currentDateTime;
对使用

DST 的澳大利亚东南部(新南威尔士州和维多利亚州(使用 "AUS Eastern Standard Time",包括堪培拉、墨尔本、悉尼等。

"E. Australia Standard Time"用于没有 DST 的澳大利亚东北部(昆士兰州(,包括布里斯班、林德曼等。

否则,您的代码是正确的。

请注意,尽管时区 ID 中包含"标准"一词,但 .NET 和 Windows 将在适用的情况下正确考虑 DST。 没有包含"日光"字样的 ID。

有关时区的完整列表,请使用TimeZoneInfo.GetSystemTimeZones()并检查每个时区的.Id.DisplayName属性。 或者,在命令行上调用 tzutil.exe /l,这将执行相同的操作。

相关内容

  • 没有找到相关文章

最新更新