0

我得到了这个例外:

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。代码有什么问题吗?谢谢。

4

1 回答 1

7

该字符串不是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 的期望。

于 2012-10-03T09:50:10.933 回答