//错误字符串日期
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 //为什么它可以输出一个好的日期格式?不显示"错误日期"。
答案 0 :(得分:9)
TryParse
和Parse
相对宽松 - 比我个人更喜欢宽松。
如果您想要更严格的解析过程,请使用DateTime.TryParseExact
。
答案 1 :(得分:4)
如果您希望它失败,请将显式日期格式传递给TryParseExact
,否则DateTime
会最好地猜测您的日期可能含义,并吐出