如何将WET/WEST时间转换为UTC
本文关键字:时间 转换 UTC WEST WET | 更新日期: 2023-09-27 18:15:11
在一个应用程序中,我将所有日期保存为UTC。
然而,用户在里斯本时区插入日期。。。
我查了一下,里斯本时区在夏天是西部,今年剩下的时间都是西部。
WET = Western European Time
WEST = Western European Summer Time
然后我尝试了以下操作:
DateTime now = DateTime.Now;
DateTime nowUtc = DateTime.UtcNow;
DateTime.SpecifyKind(now, DateTimeKind.Local);
DateTime testNowUtc = now.ToUniversalTime();
但是testNowUtc变得和现在一样,而不是像现在的Utc
我该如何解决这个问题?
**更新**
我尝试了以下方法:
DateTime now = DateTime.Now;
DateTime nowUtc = DateTime.UtcNow;
String zone = TimeZoneInfo.Local.IsDaylightSavingTime(now) ? TimeZoneInfo.Local.DaylightName : TimeZoneInfo.Local.StandardName;
DateTime testNowUtc = TimeZoneInfo.ConvertTimeToUtc(now, TimeZoneInfo.FindSystemTimeZoneById(zone));
但当我运行它时,我会得到错误:
The time zone ID 'GMT Daylight Time' was not found on the local computer.
我是不是错过了什么?
DateTime now = DateTime.Now;
DateTime nowUtc = DateTime.UtcNow;
DateTime testNowUtc = TimeZoneInfo.ConvertTimeToUtc(now, TimeZoneInfo.Local);
TimeZoneInfo的关键在于它可以自动进行夏令时。