6


1

DateTime.ParseExactがまったく機能しない、なぜですか?

次の String`をC#の DateTime`オブジェクトに解析しようとしています。

DateTime.ParseExact("20101108 230125", "yyyyMMdd hhmmss", null)

値は正しいように見えますが、 `ParseExact`メソッドは次のことを繰り返します:

_ 文字列が有効なDateTimeとして認識されませんでした。 _

手動で行うことなく上記の文字列を解析できる理由と方法を教えてもらえますか? 「ParseExact」はこの種の機会を想定していませんか?

2 Answer


21


あなたは時間の形式が間違っていて、大文字でなければなりません:

DateTime.ParseExact("20101108 230125","yyyyMMdd HHmmss", null)

小文字の「hh」は、時刻に12時間制(AM / PMを使用)を使用することを指定します。 大文字の「HH」は24時間制です。

詳細については、http://msdn.microsoft.com/en-us/library/8kb3ddd4.aspx [カスタムDateTime形式文字列のドキュメント]を確認してください。


2


使用してみてください。

var dt = DateTime.ParseExact("20101108 230125", "yyyyMMdd HHmmss", null)

「hh」は12時間、「HH」は24時間です。