2

このコードが例外をスローするのはなぜですか?

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); 
4

2 に答える 2

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)
于 2012-03-22T12:12:20.307 に答える
1

DateTime.ParseExact を使用することをお勧めします。これは、日時形式パターンをパラメーターとして受け取るためです。

DateTime.ParseExact

于 2012-03-22T12:13:54.397 に答える