运行以下代码,你期望会输出什么?
// 假设现在的时间是11:34:03
Calendar cal = Calendar.getInstance();
cal.set(Calendar.HOUR_OF_DAY, 5);
cal.clear(Calendar.HOUR_OF_DAY);
cal.clear(Calendar.Calendar.SECOND);
System.out.println("h: "cal.get(Calendar.HOUR_OF_DAY) + " ,s: " + cal.get(Calendar.SECOND));
你一定以为会输出h: 0 , s: 0
什么?不是?哪输出的是h: 5 , s: 3
都不是!!!
输出的h: 11 , s: 0
呵呵,难以置信吧?
原来Calender的clear(int)方法并不是清零,
对于HOUR,HOUR_OF_DAY就是返回最原始的值。
其他的可能是清零。
总之,不是一个保险的方法,还是尽量用set(HOUR, 0)这样的方法代替。