运行以下代码,你期望会输出什么? // 假设现在的时间是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)这样的方法代替。 
|