2012-03-22 11 views
2

このコードが例外をスローしているのはなぜですか?カスタムDateTimeFormatInfoを持つDateTime.Parseは例外をスローする

var dateTime = "2012-03-21_15.12"; 
var format = new DateTimeFormatInfo() 
{ 
    FullDateTimePattern = "yyyy-MM-dd-HH_mm.ss" 
}; 

// FormatException: String was not recognized as a valid DateTime. 
var parse = DateTime.Parse(dateTime, format); 
+0

あなたは 'DateTime.Parse'メソッドは' FullDateTimePattern'を使用することを想定しています。 – Oded

答えて

6

フォーマット文字列と日付文字列が一致しません。

日付文字列の時間または分の部分を忘れてしまったようです。

この:

var dateTime = "2012-03-21_15.12"; 

は、おそらく次のようになります。

var dateTime = "2012-03-21-15_54.12"; 

そして、私はDateTime.ParseExactを使用することをお勧め:

DateTime.ParseExact("2012-03-21-16_15.12", 
     "yyyy-MM-dd-HH_mm.ss", 
     CultureInfo.InvariantCulture, 
     DateTimeStyles.None) 
+0

まだ動作しません。私はそれを試してみました。 – Aliostad

+1

@Aliostad - これは 'ParseExact'を使うときに機能します。 – Oded

+0

はい、あります!どうもありがとう。 –

1

あなたはこれを取るようDateTime.ParseExact使用することをお勧めしますパラメータとして日時フォーマットパターン。

DateTime.ParseExact

関連する問題