无法在c#中验证日期

btm*_*ach -2 .net c#

当我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");
  }
Run Code Online (Sandbox Code Playgroud)

Dav*_*rno 5

您正在提供非美国格式的日期,并尝试使用美国格式的解析器进行解析.将"MM/dd/yyyy"更改为"dd/MM/yyyy":

if (DateTime.TryParseExact(date, "dd/MM/yyyy", null, DateTimeStyles.None, out Test) == true) {
    ...
Run Code Online (Sandbox Code Playgroud)