C# 使用DateTime.ParseExact时,如何指定给定日期的时区?

C# 使用DateTime.ParseExact时,如何指定给定日期的时区?,c#,.net,datetime,timezone,C#,.net,Datetime,Timezone,鉴于以下情况: DateTime.ParseExact(timeStamp, "yyyyMMdd-HH:mm:ss.fff", System.Globalization.CultureInfo.InvariantCulture); 如何指定给定的时间为UTC?现在,结果是给它我的当前时区。添加datetimestyle.AssumeUniversal,因为它没有在格式中指定 DateTime.ParseExact(timeStamp, "yyyyMMdd-HH:mm:ss.fff", Syst

鉴于以下情况:

DateTime.ParseExact(timeStamp, "yyyyMMdd-HH:mm:ss.fff", System.Globalization.CultureInfo.InvariantCulture);

如何指定给定的时间为UTC?现在,结果是给它我的当前时区。

添加
datetimestyle.AssumeUniversal
,因为它没有在格式中指定

DateTime.ParseExact(timeStamp, "yyyyMMdd-HH:mm:ss.fff", System.Globalization.CultureInfo.InvariantCulture, DateTimeStyles.AssumeUniversal);

您可以在解析字符串的末尾包含时区偏移量,如下所示

DateTime.Parse(“2011-01-01 12:00:00-5:00”)


根据agent-j的回答,您可以将datetimestyle添加到DateTime.Parse(…)


ParseExact不同,您不知道它的格式
date= "Wed, 16 Oct 2013 00:00:00 GMT";` // from javascript.getUTCString()

DateTime.Parse(date, CultureInfo.InvariantCulture, DateTimeStyles.AdjustToUniversal));