当我在文本框中编写29/07/1990
时,此代码似乎不起作用。它总是转到else语句。
string date = tbDate.Text;
DateTime Test;
if (DateTime.TryParseExact(date, "MM/dd/yyyy", null, DateTimeStyles.None, out Test) == true) {
Console.WriteLine("Date OK");
} else {
Console.WriteLine("Date Not OK");
}
答案 0 :(得分:5)
您提供的是非美国格式的日期,并尝试使用美国格式的解析器进行解析。改变" MM / dd / yyyy"到" dd / MM / yyyy":
if (DateTime.TryParseExact(date, "dd/MM/yyyy", null, DateTimeStyles.None, out Test) == true) {
...
答案 1 :(得分:0)
29不是有效月份,所以解析会自然失败。