Calendar類
Calendar:它爲特定瞬間與一組諸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等日曆字段之間的轉換提供了一些方法,併爲操作日曆字段(例如獲得下星期的日期)提供了一些方法。
一、構造方法
protected Calendar() :由於修飾符是protected,所以無法直接創建該對象。需要通過別的途徑生成該對象。
二、成員方法
Calendar類的成員方法
static Calendar getInstance() | 使用默認時區和區域設置獲取日曆。通過該方法生成Calendar對象。如下所示:Calendar cr=Calendar.getInstance(); |
---|---|
public void set(int year,int month,int date,int hourofday,int minute,int second) | 設置日曆的年、月、日、時、分、秒。 |
public int get(int field) | 返回給定日曆字段的值。所謂字段就是年、月、日等等。 |
public void setTime(Date date) | 使用給定的Date設置此日曆的時間。Date------Calendar |
public Date getTime() | 返回一個Date表示此日曆的時間。Calendar-----Date |
abstract void add(int field,int amount) | 按照日曆的規則,給指定字段添加或減少時間量。 |
public long getTimeInMillies() | 以毫秒爲單位返回該日曆的時間值。 |
三、日曆字段
日曆字段包含以下兩種:一種是表示時間的單位,例如年、月、日等等。另一種是具體的日期,例如一月、二月、三月、一日、二日、三日、一點鐘、兩點鐘等等具體的時間。前一種一般時獲取的時候使用,後一種一般判斷的時候使用。
時間單位字段:
YEAR | 年 | MINUTE | 分 | DAY_OF_WEEK_IN_MONTH | 某月中第幾周 |
---|---|---|---|---|---|
MONTH | 月 | SECOND/MILLISECOND | 秒/毫秒 | WEEK_OF_MONTH | 日曆式的第幾周 |
DATE | 日 | DAY_OF_MONTH | 和DATE一樣 | DAY_OF_YEAR | 一年的第多少天 |
HOUR_OF_DAY | 時 | DAY_OF_WEEK | 周幾 | WEEK_OF_YEAR | 一年的第多少周 |
具體時間字段:這裏就不累贅了,從一月到十二月、從週一到週五
特殊的:AM_PM 返回1則表示是下午,返回0表示上午。
四.DEMO
public class CalendarDemo {
public static void main(String[] args) {
// 其日曆字段已由當前日期和時間初始化:
Calendar rightNow = Calendar.getInstance(); // 子類對象
// 獲取年
int year = rightNow.get(Calendar.YEAR);
// 獲取月
int month = rightNow.get(Calendar.MONTH);
// 獲取日
int date = rightNow.get(Calendar.DATE);
//獲取幾點
int hour=rightNow.get(Calendar.HOUR_OF_DAY);
//獲取上午下午
int moa=rightNow.get(Calendar.AM_PM);
if(moa==1)
System.out.println("下午");
else
System.out.println("上午");
System.out.println(year + "年" + (month + 1) + "月" + date + "日"+hour+"時");
rightNow.add(Calendar.YEAR,5);
rightNow.add(Calendar.DATE, -10);
int year1 = rightNow.get(Calendar.YEAR);
int date1 = rightNow.get(Calendar.DATE);
System.out.println(year1 + "年" + (month + 1) + "月" + date1 + "日"+hour+"時");
}
}
注意:month是從0開始的,而月份是從1開始的,所以month需要加一。