Java Calender 類詳解

來源:互聯網
上載者:User

標籤:nbsp   日期   second   local   span   min   中國人   lang   instance   

一、   如何建立 Calendar 對象

Calendar 是一個抽象類別, 無法通過直接執行個體化得到對象. 因此, Calendar 提供了一個方法 getInstance,來獲得一個Calendar對象, 得到的 Calendar 由目前時間初始化.

1 Calendar cal = Calendar.getInstance();
二、   欄位詳解

Calendar 中 set 和 get 時間都是通過在參數中填入不同的欄位來實現的, 不過有部分欄位的常量值與約定俗成的值不相同

下面欄位我們以 1998 年 2 月 28 日 23 時 11 分 11 秒 來講解

1 Calendar cal = Calendar.getInstance();2 cal.set(Calendar.YEAR, 1998);3 cal.set(Calendar.MONTH, 1);4 cal.set(Calendar.DATE, 28);5 cal.set(Calendar.HOUR_OF_DAY, 23);6 cal.set(Calendar.MINUTE, 11);7 cal.set(Calendar.SECOND, 11);
1.  YEAR

預設情況下指示為年份.

例子中 YEAR 為 1998

2.  MONTH

指示當前年中的月份數,一年中的一月的值為 0

需要注意的是 JANUARY, FEBRUARY, MARCH, APRIL, MAY, JUNE, JULY, AUGUST, SEPTEMBER, OCTOBER, NOVEMBER, DECEMBER 分別與 [0, 11] 對應, 在設定和擷取日期時要格外注意

3.  WEEK_OF_YEAR

指示當前年中的星期數. 一年中的第一個星期的值為 1.

例子中 WEEK_OF_YEAR 為 9

4.  WEEK_OF_MONTH

指示當前月中的星期數. 一個月中第一個星期的值為 1.

例子中 WEEK_OF_MONTH 為 5

5.  DAY_OF_MONTH

指示一個月中的某天. 它與 DATE 是同義字. 一個月中第一天的值為 1.

例子中 DAY_OF_MONTH 為 28

6.  DATE

同 DAY_OF_MONTH

7.  DAY_OF_YEAR

指示當前年中的天數. 一年中第一天的值為 1.

例子中 DAY_OF_YEAR 為 59

8.  DAY_OF_WEEK

指示一個星期中的某天, 一周中第一天的值為 1.

需要 注意 的是, 與中國人的習慣不同, 此處一周中的第一天為 周日. 一周的順序依次為: 周日(1), 周一(2), 周二(3), 周三(4), 周四(5), 周五(6), 周六(7) 在設定和擷取日期時要格外注意

9.  AM_PM

指示 HOUR 是在中午之前還是在中午之後. [0, 12) 為上午, AM_PM 值為 1 [12, 24)為下午, AM_PM 值為 0

10.     HOUR

指示上午或下午的小時.

例子中 HOUR 為 11

11.     HOUR_OF_DAY

指示一天中的小時。 HOUR_OF_DAY 用於 24 小時制時鐘

例子中 HOUR_OF_DAY 為 23

12.     MINUTE

指示一小時中的分鐘

例子中 MINUTE 為 11

13.     SECOND

指示一分鐘中的秒

例子中 SECOND 為 11

三、   設定值
1 cal.set (2013, 5, 4, 13, 44, 51);//年月日時分秒 (月份0代表1月) 2 cal.set (Calendar.YEAR, 2014);//年 3 cal.set (Calendar.MONTH, 7);//月 (月份0代表1月) 4 cal.set (Calendar.DATE, 11);//日 5 cal.set (Calendar.HOUR_OF_DAY, 15);//時 6 cal.set (Calendar.MINUTE, 33);//分 7 cal.set (Calendar.SECOND, 32);//秒 
四、   擷取值
1 cal.get (Calendar.YEAR);//年 2 cal.get (Calendar.MONTH) + 1;//月 (必須要+1) 3 cal.get (Calendar.DATE);//日 4 cal.get (Calendar.HOUR_OF_DAY);//時 5 cal.get (Calendar.MINUTE);//分 6 cal.get (Calendar.SECOND);//秒 7 cal.get (Calendar.DAY_OF_WEEK);//星期 (Locale.ENGLISH情況下,周日是1,剩下自己推算)
五、   運算值1.  Add
1 cal.add (Calendar.YEAR, 1);//年 2 cal.add (Calendar.MONTH, 1);//月 3 cal.add (Calendar.DATE, 1);//日 4 cal.add (Calendar.HOUR_OF_DAY, -1);//時 5 cal.add (Calendar.MINUTE, 1);//分 6 cal.add (Calendar.SECOND, 1);//秒 7 cal.add (Calendar.DATE, 7);//周

 

六、  Calendar 對象間的比較

比較兩個 Calendar 對象表示的時間值, 如果參數表示的時間等於此 Calendar 表示的時間,則返回 0 值;如果此 Calendar 的時間在參數表示的時間之前,則返回小於 0 的值;如果此 Calendar 的時間在參數表示的時間之後,則返回大於 0 的值。

 

Java Calender 類詳解

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.