请大家帮我看一个奇怪的日期型问题
源代码如下:
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表示月份