让我们说,我有一个这样的字符串 - " 2014-09-30T20:38:18.280",如何将其解析为DateTimeKind.Utc的DateTime字段。
当我执行DateTime.Parse(" 2014-09-30T20:38:18.280")时,它返回DateTimeKind.Unspecified中的日期时间。当我尝试在其上调用ToUniversalTime()时,它会调整UTC偏移量的时间。
我基本上想要" 2014-09-30T20:38:18.280"本身用UTC表示
答案 0 :(得分:5)
解析时指定DateTimeStyles.AssumeUniversal
。
如果在解析的字符串中未指定时区,则假定该字符串表示UTC。
我也使用DateTime.ParseExact
并指定不变文化:
var time = DateTime.ParseExact(text, "yyyy-MM-dd'T'HH:mm:ss.fff",
CultureInfo.InvariantCulture,
DateTimeStyles.AssumeUniversal);