我想在东部标准时间初始化DateTime,然后转换为通用时间.
我有一个DateTime(CurrentDT),其TimeZone未设置,但它在EST中.
它是从下面的sting解析的
“ddd, d MMM yyyy H:mm:ss”
我写了以下代码来解决问题.
TimeZoneInfo currentTimeZone=null;
currentTimeZone = TimeZoneInfo.FindSystemTimeZoneById("Eastern Standard Time");
CurrentDT=TimeZoneInfo.ConvertTime(CurrentDT, currentTimeZone);
CurrentDT = CurrentDT.ToUniversalTime();
问题是看起来我做错了.我正在将DateTime(在本地时区转换为Eastern Standerd Time)转换为通用标准时间.
我不知道如何初始化CurrentDt的TimeZone.
请帮助我理解谢谢你.
最佳答案 如果我记得很清楚,DateTime不会保留有关TimeZone的信息,但是如果您知道某个DateTime在特定的TimeZone中,您可以从中获取UTC,如下所示:
var UtcDateTime = TimeZoneInfo.ConvertTimeToUtc(CurrentDt, TimeZoneInfo.FindSystemTimeZoneById("Eastern Standard Time")); // 1st param is the date to convert and the second is its TimeZone