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より1時間進んでいるという何かを明示的に取得しています!それが+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 に答える