java.util.Calendar簡介
一般寫為:import java.util.Calendar;在開頭
然后在中間寫上,
Calendar cal = Calendar.getInstance();
int year=cal.get(Calendar.YEAR);
int month=cal.get(Calendar.MONTH);就可以了;
Calendar是一個抽象類,我們無法直接實例化它,它有一個具體子類實體類java.util.GregorianCalendar,這個類實現的就是我們日常所用的公歷歷法,或者叫做陽歷。我們可以直接使用new命令創建它的實例,或者使用Calendar類的getInstance方法來獲得它實例.
Calendar c1 = Calendar.getInstance();
Calendar c2 = new GregorianCalendar();
// 參數含義依次為:年、月、日(、時、分、秒 ),
Calendar c3 = new GregorianCalendar(2008, 8, 8, 18, 10, 5);
有兩個地方需要注意:
JAVA表示的月份是從0開始的,也就是說它用來表示月份的數值總是比實際月份值小1。因此我們要表示8月份,就是應該設置8-1=7這個值。
GregorianCalendar的小時數是24小時制的。
為了避免出現因為忘記處理1的差值而設置了錯誤的月份,也讓代碼看起來更加直觀,推薦大家使用定義在Calendar類的的這些常量來代替直接用數字表示月份:
一月:Calendar.JANUARY = 0
二月:Calendar.FEBRUARY = 1
三月:Calendar.MARCH = 2
四月:Calendar.APRIL = 3
五月:Calendar.MAY = 4
六月:Calendar.JUNE = 5
七月:Calendar.JULY = 6
八月:Calendar.AUGUST = 7
九月:Calendar.SEPTEMBER = 8
十月:Calendar.OCTOBER = 9
十一月:Calendar.NOVEMBER = 10
十二月:Calendar.DECEMBER = 11
如果我們想要從Calendar對象獲得各種屬性的值,就需要調用它的get(int field)方法,這個方法接收一個int型的參數,並且根據這個給定參數的值來返回相應的屬性的值。
當前時刻:2008年07月22日 13:16:07.421
屬性名稱:Calendar.AM_PM
代表含義:上下午標識,上午返回Calendar.AM=0,下午返回Calendar.PM=1
測試結果:1
屬性名稱:Calendar.DATE
代表含義:一個月中的第幾天,同Calendar.DAY_OF_MONTH
測試結果:22
屬性名稱:Calendar.DAY_OF_MONTH
代表含義:一個月中的第幾天,同Calendar.DATE
測試結果:22
屬性名稱:Calendar.DAY_OF_WEEK
代表含義:一周中的第幾天,對應星期幾,第一天為星期日,於此類推。
星期日:Calendar.SUNDAY=1
星期一:Calendar.MONDAY=2
星期二:Calendar.TUESDAY=3
星期三:Calendar.WEDNESDAY=4
星期四:Calendar.THURSDAY=5
星期五:Calendar.FRIDAY=6
星期六:Calendar.SATURDAY=7
測試結果:3
屬性名稱:Calendar.DAY_OF_WEEK_IN_MONTH
代表含義:這一天所對應的星期幾在該月中是第幾次出現
測試結果:4
屬性名稱:Calendar.DAY_OF_YEAR
代表含義:一年中的第幾天
測試結果:204
屬性名稱:Calendar.HOUR
代表含義:12小時制下的小時數,中午和午夜表示為0
測試結果:1
屬性名稱:Calendar.HOUR_OF_DAY
代表含義:24小時制下的小時數,午夜表示為0
測試結果:13
屬性名稱:Calendar.MILLISECOND
代表含義:毫秒數
測試結果:421
屬性名稱:Calendar.MINUTE
代表含義:分鍾
測試結果:16
屬性名稱:Calendar.MONTH
代表含義:月份,從0到11表示12個月份,比實際月份值小1
測試結果:6
屬性名稱:Calendar.SECOND
代表含義:秒
測試結果:7
屬性名稱:Calendar.WEEK_OF_MONTH
代表含義:一個月中的第幾個星期
測試結果:4
屬性名稱:Calendar.WEEK_OF_YEAR
代表含義:一年中的第幾個星期
測試結果:30
屬性名稱:Calendar.YEAR
代表含義:年份
測試結果:2008
Calendar c1 = Calendar.getInstance();
Calendar c2 = new GregorianCalendar();
// 參數含義依次為:年、月、日(、時、分、秒 ),
Calendar c3 = new GregorianCalendar(2008, 8, 8, 18, 10, 5);
有兩個地方需要注意:
JAVA表示的月份是從0開始的,也就是說它用來表示月份的數值總是比實際月份值小1。因此我們要表示8月份,就是應該設置8-1=7這個值。
GregorianCalendar的小時數是24小時制的。
為了避免出現因為忘記處理1的差值而設置了錯誤的月份,也讓代碼看起來更加直觀,推薦大家使用定義在Calendar類的的這些常量來代替直接用數字表示月份:
一月:Calendar.JANUARY = 0
二月:Calendar.FEBRUARY = 1
三月:Calendar.MARCH = 2
四月:Calendar.APRIL = 3
五月:Calendar.MAY = 4
六月:Calendar.JUNE = 5
七月:Calendar.JULY = 6
八月:Calendar.AUGUST = 7
九月:Calendar.SEPTEMBER = 8
十月:Calendar.OCTOBER = 9
十一月:Calendar.NOVEMBER = 10
十二月:Calendar.DECEMBER = 11
如果我們想要從Calendar對象獲得各種屬性的值,就需要調用它的get(int field)方法,這個方法接收一個int型的參數,並且根據這個給定參數的值來返回相應的屬性的值。
當前時刻:2008年07月22日 13:16:07.421
屬性名稱:Calendar.AM_PM
代表含義:上下午標識,上午返回Calendar.AM=0,下午返回Calendar.PM=1
測試結果:1
屬性名稱:Calendar.DATE
代表含義:一個月中的第幾天,同Calendar.DAY_OF_MONTH
測試結果:22
屬性名稱:Calendar.DAY_OF_MONTH
代表含義:一個月中的第幾天,同Calendar.DATE
測試結果:22
屬性名稱:Calendar.DAY_OF_WEEK
代表含義:一周中的第幾天,對應星期幾,第一天為星期日,於此類推。
星期日:Calendar.SUNDAY=1
星期一:Calendar.MONDAY=2
星期二:Calendar.TUESDAY=3
星期三:Calendar.WEDNESDAY=4
星期四:Calendar.THURSDAY=5
星期五:Calendar.FRIDAY=6
星期六:Calendar.SATURDAY=7
測試結果:3
屬性名稱:Calendar.DAY_OF_WEEK_IN_MONTH
代表含義:這一天所對應的星期幾在該月中是第幾次出現
測試結果:4
屬性名稱:Calendar.DAY_OF_YEAR
代表含義:一年中的第幾天
測試結果:204
屬性名稱:Calendar.HOUR
代表含義:12小時制下的小時數,中午和午夜表示為0
測試結果:1
屬性名稱:Calendar.HOUR_OF_DAY
代表含義:24小時制下的小時數,午夜表示為0
測試結果:13
屬性名稱:Calendar.MILLISECOND
代表含義:毫秒數
測試結果:421
屬性名稱:Calendar.MINUTE
代表含義:分鍾
測試結果:16
屬性名稱:Calendar.MONTH
代表含義:月份,從0到11表示12個月份,比實際月份值小1
測試結果:6
屬性名稱:Calendar.SECOND
代表含義:秒
測試結果:7
屬性名稱:Calendar.WEEK_OF_MONTH
代表含義:一個月中的第幾個星期
測試結果:4
屬性名稱:Calendar.WEEK_OF_YEAR
代表含義:一年中的第幾個星期
測試結果:30
屬性名稱:Calendar.YEAR
代表含義:年份
測試結果:2008