String a="2007-07-05";
String b="2007-08-05";
有什么简单的方法可以比较这两个日期的大小,不用string的split方法.请给出具体例子谢谢!

解决方案 »

  1.   

    如果作为条件用于数据库查询,则可以直接比较:b>a
      

  2.   

    可以用Date的after、before或者equals方法进行比较
    String a="2007-07-05";
    String b="2007-08-05";
    SimpleDateFormat f = new SimpleDateFormat("yyyy-MM-dd");
    try{
            Date begin = f.parse(a);
    Date end = f.parse(b);
    System.out.println(begin.after(end));
    }
    catch(Exception e){
    e.printStackTrace();
    }
      

  3.   

    a.compareTo(b)不保险.
    如果:
    String a="2007-07-01";
    String b="2007-6-05";
    就会出问题.还是建议转化成日期进行比较.
    比较麻烦但较周全的方法是:     String a="2007-07-01";
        String b="2007-9-05";
        Calendar ca = new GregorianCalendar();
        Calendar cb = new GregorianCalendar();
        try {
    ca.setTime(DateFormat.getDateInstance().parse(a)) ;
    cb.setTime(DateFormat.getDateInstance().parse(b)) ;
    } catch (ParseException e) {
    e.printStackTrace();
    }     
        System.out.println (ca.compareTo(cb) < 0 ? "小日期在前": "大日期在前");