今天在做一个时间的时候,发现老是少12个小时。检查了好一会儿,才发现是Calendar.HOUR_OF_DAY与Calendar.HOUR导致的不同。
String newStr = "1332391500000";
Calendar cal = Calendar.getInstance();
cal.setTimeInMillis(Long.parseLong(newStr));
System.out.println(cal.getTime());
System.out.println(cal.get(Calendar.YEAR) + "-"
+ format(cal.get(Calendar.MONTH) + 1, 2) + "-"
+ format(cal.get(Calendar.DATE), 2) + " "
+ format(cal.get(Calendar.HOUR_OF_DAY), 2) + ":"
+ format(cal.get(Calendar.MINUTE), 2) + ":"
+ format(cal.get(Calendar.SECOND), 2));
文档已经解释的很清楚了。
Calendar.HOUR_OF_DAY是:
Field number for get
and set
indicating the hour of the day. HOUR_OF_DAY
is used for the 24-hour clock. E.g., at 10:04:15.250 PM the HOUR_OF_DAY
is 22.
Calendar.HOUR是:
Field number for get
and set
indicating the hour of the morning or afternoon. HOUR
is used for the 12-hour clock (0 - 11). Noon and midnight are represented by 0, not by 12. E.g., at 10:04:15.250 PM the HOUR
is 10.