为什么我无论输入什么数,比较之后都小于当前时间呢?<%java.text.SimpleDateFormat formatter = new java.text.SimpleDateFormat("yyyy-mm-dd"); java.util.Date currentTime = new java.util.Date();//得到当前系统时间 String str_date1 = formatter.format(currentTime); //将日期时间格式化 
String str1 =formatter.format(formatter.parse("2009-1-1"));  ----------此处随意输入,但是都是小于的结果int result=str1.compareTo(str_date1);out.println(result);if(result<=0){
out.println("str1<=str2"); }
if(result>0){
out.println("str1<str2"); }

解决方案 »

  1.   

    java.text.SimpleDateFormat formatter = new java.text.SimpleDateFormat("yyyy-mm-dd"); 
    改为java.text.SimpleDateFormat formatter = new java.text.SimpleDateFormat("yyyy-MM-dd"); 
    mm表示分,MM表示月
      

  2.   


    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
    java.util.Date beginDate = sdf.parse(request.getParameter("strBeginDate"));
    java.util.Date endDate = sdf.parse(request.getParameter("strEndDate"));
    if (beginDate.compareTo(endDate) == 1) {
    System.out.println("开始日期 大于 结束日期");
    }
    if (beginDate.compareTo(endDate) == -1) {
    System.out.println("开始日期 小于 结束日期");
    }
    if (beginDate.compareTo(endDate) == 1) {
    System.out.println("开始日期 等于 结束日期");
    }
      

  3.   


    // 判断时间date1是否在时间date2之前
    // 时间格式 2009-04-10 16:16:34
    public static boolean isDateBefore(String date1, String date2) {
    try {
    DateFormat df = DateFormat.getDateTimeInstance();
    return df.parse(date1).before(df.parse(date2));
    } catch (ParseException e) {
    System.out.print("[SYS ParseException] " + e.getMessage());
    return false;
    }
    }
      

  4.   


    // 判断当前时间是否在时间date2之前
    // 时间格式 2009-04-10 16:16:34
    public static boolean isDateBefore(String date2) {
    try {
    Date nowDate = new Date();
    DateFormat df = DateFormat.getDateTimeInstance();
    return nowDate.before(df.parse(date2));
    } catch (ParseException e) {
    System.out.print("[SYS ParseException] " + e.getMessage());
    return false;
    }
    }