我正在使用 TimeZoneInfo 类将 Datetime 值转换为 UTC。但是,转换不会自动处理夏令时。我怎样才能做到这一点。
例如,我正在尝试将以下 DateTime 转换为 UTC:
//meetingDate is "10/04/2019 12:00:00" PM
var timeZoneId="AUS Eastern Standard Time";
DateTime dtUTC = TimeZoneInfo.ConvertTime(meetingDate, TimeZoneInfo.FindSystemTimeZoneById(timeZoneId), TimeZoneInfo.Utc);
返回值为:10/04/2019 02:00:00 UTC(上午)
这是因为我的操作系统中“澳大利亚东部标准时间”的时区是 UTC + 10:00(见下图)但是因为启用了“自动调整夏令时”设置,我能够看到我的 Windows 10 上的正确时间(实际上是在这个特定时刻(2019 年 4 月 1 日)UTC + 11)
我如何使用 TimeZoneInfo.ConvertTime 方法获得相同的行为。
如果我传递值“10/04/2019 12:00:00 PM”,我应该返回:10/04/2019 01:00:00 am UTC
PS:我已经检查了以下堆栈溢出问题,但它是从 UTC 转换而来的,因此它不适用于我的问题。
如何在夏令时期间使用 TimeZoneInfo 获取本地时间?
图片 Windows 10 时区:
Smart猫小萌
相关分类