不能在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");
  }

不能在c#中验证日期

您提供了一个非美国格式的日期,并尝试使用美国格式解析器对其进行解析。将"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不是有效的月份,因此解析自然会失败。