26

このコード行:

DateTime dt = DateTime.ParseExact(time, "hh:mm", CultureInfo.InvariantCulture);

「12:45」の「time」値を適切に解析しますが、「13:00」の例外をスローします

他のCultureInfo値を使用する必要がありますか、それとも12を超える時間値に「pm」を追加する必要がありますか...?

エラーメッセージは次のとおりです。System.FormatExceptionは処理されませんでしたMessage=Stringは有効なDateTimeとして認識されませんでした。

4

3 に答える 3

59

「hh」は12時間形式(01〜12)です。24時間制には「HH」を使用する必要があります。

DateTime dt = DateTime.ParseExact(time, "HH:mm", CultureInfo.InvariantCulture);
于 2012-06-27T18:12:51.433 に答える
2

これを試して:

DateTime dt = DateTime.ParseExact(time, "u", CultureInfo.InvariantCulture);

"u"ユニバーサルソート可能フォーマットを示します。

于 2012-06-27T18:13:41.913 に答える
2

ハンスはすでにコメントセクションであなたの質問に答えていますが、これDateTime.ParseExactはメソッドで使用されるすべての種類の日付形式を説明するMSDNリンクです。

于 2012-06-27T18:14:48.530 に答える