Calendar.HOUR
和Calendar.HOUR_OF_DAY
之间有什么区别?
何时使用Calendar.HOUR
和Calendar.HOUR_OF_DAY
?
我有时会感到困惑Calendar.HOUR
这个工作正常,而且其他Calendar.HOUR_OF_DAY
这很好用。他们以int的形式返回什么?
我已阅读this文档但未了解其中的差异。
有什么建议
感谢。
答案 0 :(得分:57)
来自http://docs.oracle.com/javase/7/docs/api/java/util/Calendar.html#HOUR:
Calendar.HOUR =获取和设置的字段编号,表示上午或下午的小时。小时用于12小时制。例如,在10:04:15.250 PM,HOUR是10。
Calendar.HOUR_OF_DAY =获取和设置的字段编号,表示当天的小时。 HOUR_OF_DAY用于24小时制。例如,在10:04:15.250 PM,HOUR_OF_DAY是22。
答案 1 :(得分:0)
此代码将帮助您更好地了解
import java.util.Calendar; import java.util.GregorianCalendar;
public class test{ public static void main(String[] args) {
GregorianCalendar gc = new GregorianCalendar(2013, 8, 15, 21, 69,55);
//分钟= 69等于1小时09分钟。该小时将添加到小时位置(21 + 1 = 22)// Sun Sep 15 22:09:55 IST 2013
p(gc, Calendar.YEAR); //gives year
p(gc, Calendar.MONTH); // gives month staring at 0 for January
p(gc, Calendar.DATE); // date
p(gc, Calendar.DAY_OF_WEEK);// Sunday=1, Monday=2, .....Saturday -7
p(gc, Calendar.WEEK_OF_MONTH);//what week its running in week ,whether its first or second;
p(gc, Calendar.DAY_OF_WEEK_IN_MONTH);//In this case, How may times does Sunday is repeating in the month = 3;
p(gc, Calendar.DAY_OF_YEAR);//count of the day in the year
p(gc, Calendar.HOUR);//12 hour format. if the time is 22:09:55, answer would be (22-12)=10
p(gc, Calendar.HOUR_OF_DAY);// hour of day that is 22 (24h format)
p(gc, Calendar.MINUTE);// 09
p(gc, Calendar.SECOND);// 55
System.out.println();
System.out.println(gc.getTime());
}
static void p(Calendar c, int type) {
System.out.print(c.get(type) + "-");
} }
*输出:
2013-8-15-1-3-3-258-10-22-9-55-
IST 2013年9月15日22:09:55
*