1. 程式人生 > >Java操作日期,Canlender方法

Java操作日期,Canlender方法

[b][size=large][color=darkred]java.util.Carlendar介紹:[/color][/size][/b]
Calendar 類是一個抽象類,它為特定瞬間與一組諸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等日曆欄位之間的轉換提供了一些方法,併為操作日曆欄位(例如獲得下星期的日期)提供了一些方法。

Calendar 提供了一個類方法 getInstance,以獲得此型別的一個通用的物件。Calendar 的 getInstance 方法返回一個 Calendar 物件,其日曆欄位已由當前日期和時間初始化:
Calendar rightNow = Calendar.getInstance();


[size=medium][b]日曆欄位解析[/b][/size]
在計算日曆欄位中的日期和時間時,可能沒有足夠的資訊用於計算(例如只有年和月,但沒有日),或者可能有不一致的資訊( 例如 "Tuesday, July 15, 1996"(格林威治時間)——實際上,1996 年 7 月 15 日是星期一 )。Calendar 將解析日曆欄位值,以便用以下方式確定日期和時間。
如果日曆欄位值中存在任何衝突,則 Calendar 將為最近設定的日曆欄位提供優先權。以下是日曆欄位的預設組合。將使用由最近設定的單個欄位所確定的最近組合。

[size=medium][b]對於日期欄位:[/b][/size]
[code]
YEAR + MONTH + DAY_OF_MONTH
YEAR + MONTH + WEEK_OF_MONTH + DAY_OF_WEEK
YEAR + MONTH + DAY_OF_WEEK_IN_MONTH + DAY_OF_WEEK
YEAR + DAY_OF_YEAR
YEAR + DAY_OF_WEEK + WEEK_OF_YEAR
[/code]

[b][size=medium]對於時間欄位:[/size][/b]
[code]
HOUR_OF_DAY
AM_PM + HOUR
[/code]

[size=medium][b]欄位操作[/b][/size]
可以使用三種方法更改日曆欄位:set()、add() 和 roll()。(詳細操作見javadoc)

[size=large][color=darkred][b]例子[/b][/color][/size]
從頁面得到一個日期,並將這個日期的天加一天:

全部程式碼如下:

Date date = new Date();
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
calendar.add(calendar.DAY_OF_MONTH, +1);
date = calendar.getTime();

假設Date物件得到頁面輸入的日期,然後通過Calendar的getInstance方法得到其例項,然後通過setTime方法將Date物件中的日期轉換為Calendar物件.

現在就是最關鍵這步,使用calendar的add方法,對日期進行操作,首先add方法有兩個引數:

public abstract void add(int field,int amount)

[b]field[/b] :日曆欄位,通過calendar的成員得到其值(calendar成員很多,參加javadoc);
[b]amount[/b] :為欄位新增的日期或時間量,通過該引數,設定需要增加或者減少的時間範圍.

以上就完成了,將Date物件的日期加一的功能,更多功能操作相似,參加javadoc.