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

时间:2011-06-16 17:16:24

标签: c# .net datetime timezone

鉴于以下内容:

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

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

3 个答案:

答案 0 :(得分:9)

添加DateTimeStyles.AssumeUniversal,因为它未以格式指定。

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

答案 1 :(得分:1)

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

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

http://msdn.microsoft.com/en-us/library/1k1skd40.aspx

答案 2 :(得分:0)

在agent-j的回答之后,您可以将DateTimeStyles添加到DateTime.Parse(...)

date= "Wed, 16 Oct 2013 00:00:00 GMT";` // from javascript.getUTCString()

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