Calendar.HOUR和Calendar.HOUR_OF_DAY之间的区别?

时间:2016-05-15 09:03:52

标签: java android calendar

Calendar.HOURCalendar.HOUR_OF_DAY之间有什么区别? 何时使用Calendar.HOURCalendar.HOUR_OF_DAY? 我有时会感到困惑Calendar.HOUR这个工作正常,而且其他Calendar.HOUR_OF_DAY这很好用。他们以int的形式返回什么? 我已阅读this文档但未了解其中的差异。 有什么建议 感谢。

2 个答案:

答案 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

*

output Date visualization