如何判断输入到edit中的数据是不是一个有效的日期

解决方案 »

  1.   

    procedure TForm1.Button3Click(Sender: TObject);
    begin
      try
        strtodatetime(form1.Edit1.Text);
      except
        showmessage('不是日期类型数据');
      end;
    end;
      

  2.   

    但当Edit1.Text内容为003-07-14时,也将他视为有效的日期类型数据
      

  3.   

    你用maskedit呀
    用时间格式,你也要吧自己定义 
    然后用
    try
        strtodatetime(maskedit1.Text);
      except
        showmessage('wrong!');
      end;
      

  4.   

    建议使用整型操作,如20030101,20030721,20031230等
    然后取年yyyy,取月mm,取日dd,当然都是字符串操作了,
    然后转换一下,
    try
      result := EncodeDate(yyyy, mm, dd);
    except
      showmessage('Wrong');
    end;
      

  5.   

    修正
    try
       strtodate(maskedit1.Text);
    except
       showmessage('wrong!');
       exit;
    end;
      

  6.   

    try
    except
    end;
    还用exit吗?都异常了系统退出了
      

  7.   

    因为我要将edit与数据库相连,所以当修改数据时用datetimepicker不方便,如果只输入4位年2位月,如2003-07,又该如何判断它是否有效