4

私は奇妙な問題を抱えています:

string format = @"ddd MMM dd hh:mm:ss \G\M\Tzzz yyyy";
__timestamp = "Fri Apr 09 17:02:00 GMT-0500 2010";
DateTime.ParseExact(__timestamp, format, new CultureInfo("en"));

return FormatException= "文字列が有効な日時として認識されませんでした。"

しかし、そのコードは例外なく実行されます。

string format = @"ddd MMM dd hh:mm:ss \G\M\Tzzz yyyy";
__timestamp = "Sat Apr 10 01:27:00 GMT-0500 2010";
DateTime.ParseExact(__timestamp, format, new CultureInfo("en"));

その形式の30kの日付解析から、その約50%がその例外で失敗しました...

誰もが理由を知っていますか?

4

2 に答える 2

10

すべきではありHHませんhh。あなたは24時間形式です。

ddd MMM dd HH:mm:ss \G\M\Tzzz yyyy

有効:Sat Apr 10 01:27:00 GMT-0500 2010

于 2012-07-26T16:55:28.363 に答える
2

DateTimeは、その「en」形式プロバイダーのAM/PM情報を期待しているようです。12時間未満(両端を含む)で試してみるか、AM/PM情報を追加してください

于 2012-07-26T17:03:38.667 に答える