不能在c#中验证日期
本文关键字:验证 日期 不能 | 更新日期: 2023-09-27 18:02:45
当我在文本框中编写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");
}
您提供了一个非美国格式的日期,并尝试使用美国格式解析器对其进行解析。将"MM/dd/yyyy"更改为"dd/MM/yyyy":
if (DateTime.TryParseExact(date, "dd/MM/yyyy", null, DateTimeStyles.None, out Test) == true) {
...
您指定了"MM/dd/yyyy"作为截止日期字符串的解析格式。
所以如果你写的是29/07/1990
-它被认为是29个月零7天-这肯定不是一个有效的日期。
可能你需要"dd/MM/yyyy"格式字符串
29不是有效的月份,因此解析自然会失败。