//エラー文字列の日付
string s = "2012-4-5-02";
DateTime dt;
if (DateTime.TryParse(s,out dt))
MessageBox.Show(dt.ToString("yyyy-MM-dd"));
else
MessageBox.Show("error date");
//出力:2012-04-05 //なぜ適切な日付形式を出力できるのですか?「エラー日」の表示ではありません。
TryParse
比較的寛大です-私が個人的Parse
に好む傾向があるよりも寛大です。
より厳密な解析プロセスが必要な場合は、を使用しDateTime.TryParseExact
ます。
明示的な日付形式をに渡さないようにするTryParseExact
場合DateTime
は、日付の意味を最もよく推測し、それを吐き出します。