我得到了这个例外:
String was not recognized as a valid DateTime
对于这个字符串:
2012-10-03T10:41:22.988401+01:00
使用此代码:
DateTime.ParseExact(TheStringAbove, "o", CultureInfo.InvariantCulture, DateTimeStyles.None);
我知道 DateTime 字符串是 UTC。代码有什么问题吗?谢谢。
该字符串不是UTC - 它明确表示它比 UTC 早一个小时!这就是 +01:00 的含义。你真的需要仔细考虑那部分。
它失败的原因是它不太符合“o”格式:
"O" 或 "o" 标准格式说明符对应于 DateTime 值的 "yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fffffffK" 自定义格式字符串
请注意,那里有 7 个 fs,但您只有 6 个小数位。2012-10-03T10:41:22.9884010+01:00
工作正常 - 但您仍然需要检查它是否真的意味着您想要的意思,基于您对这真的是 UTC 的期望。