日历小时和Calendar.HOUR_OF_DAY之间的区别?

2022-08-31 15:52:30

和 有什么区别?何时使用 和 ?我很困惑,有时这工作正常,而其他时候这工作正常。它们以 int 的形式返回什么?我已经阅读了本文档,但不明白其中的区别。任何建议 谢谢。Calendar.HOURCalendar.HOUR_OF_DAYCalendar.HOURCalendar.HOUR_OF_DAYCalendar.HOURCalendar.HOUR_OF_DAY


答案 1

http://docs.oracle.com/javase/7/docs/api/java/util/Calendar.html#HOUR

Calendar.HOUR = 用于获取和设置的字段编号,指示上午或下午的小时数。小时用于 12 小时制。例如,在 10:04:15.250 PM,小时是 10。

Calendar.HOUR_OF_DAY = 用于获取和设置的字段编号,指示一天中的小时。HOUR_OF_DAY用于 24 小时制。例如,在 10:04:15.250 PM,HOUR_OF_DAY为 22。


答案 2

此代码将帮助您更好地理解

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)//星期日 9 月 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-

星期日 九月 15 22:09:55 IST 2013

*

输出 日期 可视化


推荐