Java乾貨分享:E Java日期處理核心類之Calendar詳解

尋夢新聞LINE@每日推播熱門推薦文章,趣聞不漏接❤️

加入LINE好友

接觸過Java的同學應該都知道,Java有很多可以直接拿來使用的工具類,而這些工具類大部分來自於java.util包,有處理字符串的專門類,有從控制台輸入的類等,而我們今天主要討論的是Java中處理日期時間的類,JDK1.1之前我們通常使用java.util.Date這個類來處理日期時間,但是自JDK1.1之後推出了Calendar(日曆)這個抽象類來專門用來日期時間,那麼我們接下來就來研究研究這個Calendar類.

Java幹貨分享:E Java日期處理核心類之Calendar詳解

Calendar 類是一個抽象類,它為特定瞬間與一組諸如YEAR、MONTH、DAY_OF_MONTH、HOUR 等日曆字段之間的轉換提供了一些方法,並為操作日曆字段(例如獲得下星期的日期)提供了一些方法。瞬間可用毫秒值來表示,它是距歷元(即格林威治標準時間1970 年 1 月 1 日的 00:00:00.000,格里高利歷)的偏移量.

這是官方API對Calendar的解釋,

作為抽象類,他本身不能直接實例化,程序只能創建Calendar子類的實例,Java本身提供了一個CregorianCalendar類,一個代表格里高利日曆的子類,它代表了通常所說的公歷.

Java幹貨分享:E Java日期處理核心類之Calendar詳解

Calendar的用法包括了一下幾點:

1)獲得年、月、日、周、小時、分鐘

get(int field): 參數表示日曆字段。如年、月、日等,它被Calendar類的靜態常量,用法如下:

獲得年:c.get(Calendar.YEAR)

獲得月:c.get(Calendar.MONTH)

獲得日:c.get(Calendar.DATE)

2)設置年、月、日、周、小時、分鐘

set(int field,int value):參數field的取值為Calendar.YEAR、Calendar.MONTH..

3)日期相加減

add(int fields, int amount):參數fields表示日曆字段;amount為字段添加的日期或時間量,可以為負數。

將當前年份減1年:c.add(Calendar.YEAR,-1):

將當前天數加2天:c.add(Calendar.DATE,2)

4)將日期轉換為Date對象

Date d=c.getTime();

Calendar中一些陷阱,很容易掉下去:

1、Calendar的星期是從周日開始的,常量值為0。

2、Calendar的月份是從一月開始的,常量值為0。

3、Calendar的每個月的第一天值為1。

Java幹貨分享:E Java日期處理核心類之Calendar詳解

下面給出一個綜合實例看看Calendar類的用法:

Java幹貨分享:E Java日期處理核心類之Calendar詳解

Java幹貨分享:E Java日期處理核心類之Calendar詳解

Java幹貨分享:E Java日期處理核心類之Calendar詳解

About 尋夢園
尋夢園是台灣最大的聊天室及交友社群網站。 致力於發展能夠讓會員們彼此互動、盡情分享自我的平台。 擁有數百間不同的聊天室 ,讓您隨時隨地都能找到志同道合的好友!