如字符串"2006-09-31"就不是一个有效的时间,请问我该怎样判断?

解决方案 »

  1.   

    String s="2006-09-31";
    java.text.DateFormat f=new java.text.SimpleDateFormat("yyyy-MM-dd");
    f.setLenient(true);
    try
    {
    java.util.Date d=f.parse(s);
    if(s.equals(f.format(d)))
    System.out.println("Yes");
    else
    System.out.println("NO");
    }catch(java.text.ParseException e)
    {
    System.out.println("NO");
    }
      

  2.   

    imA(男的不会,会的不男) ( ) 信誉:5    Blog 的做法也不错。不过最还好是 。。
      

  3.   

    方法很多,看lz选哪种了!imA(男的不会,会的不男)的方法也不错!
      

  4.   

    Student02370236,你把这个问题用正则写出来,我想看下怎么写!谢谢拉!学习中...
      

  5.   

    //******************************************************//
    //是否正确的日期
    //******************************************************//
    function isDate(checkStr)
    { var re_tf = true;
    if (!isDateFormat(checkStr))
    { alert("请填写正确日期\n格式(2003-03-28)!!");
    re_tf = false;
    }
    else
    { var d=checkStr;
    var ymd;
    ymd=d.split(d.charAt(4));
    if (ymd.length!=3)
    { alert("不是完整的日期!!");
    re_tf = false;
    }
    else
    if (!isValidDate(ymd[0],ymd[1],ymd[2]))
    { alert("此日期无效!!");
    re_tf = false;
    }
    }
    return re_tf;
    }
    //是否日期格式(0123456789/-)(2003-03-28)
    function isDateFormat(checkStr)
    {
    var checkOK = "0123456789/-";
    var allValid = true;
    if (checkStr.length<1)
    allValid=false;
     for (i=0;i<checkStr.length;i++)
     {
      ch=checkStr.charAt(i);   if(i==4){
      if(ch=="/" || ch=="-")
      break;
     else{
     allValid = false;
     break;
    }
      }   for(j=0;j<checkOK.length;j++)
    if(ch==checkOK.charAt(j))

       break;
    }
    if(j==checkOK.length)
    {
       allValid = false;
       break;
    }
     }
     return allValid;
    }
      

  6.   

    http://www.java99.com/?m=ViewFaq&id=92