このコード行:
DateTime dt = DateTime.ParseExact(time, "hh:mm", CultureInfo.InvariantCulture);
「12:45」の「time」値を適切に解析しますが、「13:00」の例外をスローします
他のCultureInfo値を使用する必要がありますか、それとも12を超える時間値に「pm」を追加する必要がありますか...?
エラーメッセージは次のとおりです。System.FormatExceptionは処理されませんでしたMessage = Stringは有効なDateTimeとして認識されませんでした。
「hh」は12時間形式(01〜12)です。 24時間制には「HH」を使用する必要があります。
DateTime dt = DateTime.ParseExact(time, "HH:mm", CultureInfo.InvariantCulture);
ハンスはすでにコメントセクションであなたの質問に答えていますが、 ここ はDateTime.ParseExact
メソッドで使用されるすべての種類の日付形式を説明するMSDNリンクです。
これを試して:
DateTime dt = DateTime.ParseExact(time, "u", CultureInfo.InvariantCulture);
"u"
は、ユニバーサルソート可能フォーマットを示します。