日期:2014-05-20  浏览次数:20704 次

请大家帮我看一个奇怪的日期型问题
源代码如下:

import   java.util.*;
import   java.text.SimpleDateFormat;

public   class   DateTest   {

/**
  *   @param   args
  */
public   static   void   main(String[]   args)   {
//   TODO   Auto-generated   method   stub
try   {
SimpleDateFormat   sdf   =   new   SimpleDateFormat( "yyyy-mm-dd ");
Date   date1   =   sdf.parse( "2007-01-30 ");
Date   date2   =   sdf.parse( "2007-01-31 ");
Date   date3   =   sdf.parse( "2007-02-01 ");



System.out.println( "aaaaaaaaa== "+date1.compareTo(date2));
                                                        System.out.println( "aaaaaaaaa== "+date1.compareTo(date3));
}
catch   (Exception   e){

}
}

}


我预想中的结果应该都是负值,可是运行结果却是
-1
1

请问这是怎么回事,是和jdk版本有关吗,该怎么处理啊?

------解决方案--------------------
SimpleDateFormat sdf = new SimpleDateFormat( "yyyy-mm-dd ");
改为
SimpleDateFormat sdf = new SimpleDateFormat( "yyyy-MM-dd ");
再试就可以了
因为mm表示分钟
MM表示月份