导航

Java日期的bug?

Posted on 2010-09-29 13:12  teasp  阅读(442)  评论(2)    收藏  举报

    闲话少说,看代码先:

代码
public class Test {

public static void main(String[] args) {
Calendar c1
= Calendar.getInstance();
c1.set(
2000, 0, 1, 1, 0, 0); //2000年1月1日1点
long l1 = c1.getTimeInMillis();
Calendar c2
= Calendar.getInstance();
c2.set(
2000, 0, 1, 0, 0, 0); //2000年1月1日0点
long l2 = c2.getTimeInMillis();
if (l1 > l2) {
System.out.println(
"true");
}

Date d
= new Date();
SimpleDateFormat df
=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
d.setTime(l1);
System.out.println(df.format(d));
d.setTime(l2);
System.out.println(df.format(d));
}
}

输出结果:

true
2000-01-01 01:00:00
2000-01-01 12:00:00

这结果也太搞笑了吧,明明第一个时间比第二个要晚一个小时,用SimpleDateFormat弄出来的时间居然是第一个时间比第二个早了11小时!!