我将DateTime
表示为字符串(例如"2023-08-13T11:32:59")
但这DateTime
的时区既不是世界协调时,也不是当地时区
我想要解析此字符串,然后将其转换为本地时区.
到目前为止,我所做的是将其转换为UTC,然后转换为当地时区. 我写的这段代码可以做这项工作,但看起来很麻烦,有没有更好的方法?
DateTime sourceDateTime = DateTime.Parse(date);
TimeZoneInfo sourceTimeZone = TimeZoneInfo.FindSystemTimeZoneById("Central European Standard Time");
DateTime unspecified = DateTime.SpecifyKind(sourceDateTime, DateTimeKind.Unspecified);
DateTime utcDateTime = TimeZoneInfo.ConvertTimeToUtc(unspecified, sourceTimeZone);
DateTime result = TimeZoneInfo.ConvertTimeFromUtc(utcDateTime, TimeZoneInfo.Local);