比如:String strDate = "2007/02/30"这个strDate明显是不合法的,请问怎么检查用JAVA代码??

解决方案 »

  1.   

    有个日期的解析类SimpleDateFormat,里面有响应的解析函数
      

  2.   

    try {
                        String strDate = "2007/02/30";
                        SimpleDateFormat df = new SimpleDateFormat("yyyy/MM/dd");
                        df.parse(strDate);
                    } catch (ParseException pe) {
                        //
                    }不合法的日期会抛出异常
      

  3.   

    用正则表达式 \d{4}\\/\d{2}\\//d{2}
      

  4.   


    catch (ParseException pe) {
                       //到这里表示日期不合法
                    }
      

  5.   


    import java.text.SimpleDateFormat;
    import java.util.*;
    import java.text.ParseException;
    public class Test{ 
        public static void main(String[] arg) { 
         try {
                String strDate = "2007/02/30";
                SimpleDateFormat df = new SimpleDateFormat("yyyy/MM/dd");
                Date d=df.parse(strDate);
                System.out.println(df.format(d));
            }catch (ParseException pe) {
                pe.printStackTrace();
            }
        } 
    }out:
    2007/03/02
    日期直接往后加了。
      

  6.   


    public class Test{ 
        public static void main(String[] arg) { 
         try {
                String strDate = "2007/02/30";
                SimpleDateFormat df = new SimpleDateFormat("yyyy/MM/dd");
                df.setLenient(false);//加上这句
                Date d=df.parse(strDate);
                System.out.println(df.format(d));
            }catch (ParseException pe) {
                pe.printStackTrace();
            }
        } 
    } 设置日期的解析格式为严格的。可以了。
      

  7.   

    out:
    java.text.ParseException: Unparseable date: "2007/02/30"
    at java.text.DateFormat.parse(Unknown Source)
    at Test.main(Test.java:12)