C#datetime.tryparse可以处理错误日期

时间:2012-04-12 15:56:25

标签: c# datetime

//错误字符串日期

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 //为什么它可以输出一个好的日期格式?不显示"错误日期"。

2 个答案:

答案 0 :(得分:9)

TryParseParse相对宽松 - 比我个人更喜欢宽松。

如果您想要更严格的解析过程,请使用DateTime.TryParseExact

答案 1 :(得分:4)

如果您希望它失败,请将显式日期格式传递给TryParseExact,否则DateTime会最好地猜测您的日期可能含义,并吐出