日期操作類 Calendar類

2021-09-07 07:15:02 字數 2269 閱讀 2842

calendar-api

通過date和dateformat能夠格式化並建立乙個日期物件了,但是我們如何才能設定和獲取日期資料的特定部分呢,比如說小時,日,或者分鐘? 我們又如何在日期的這些部分加上或者減去值呢? 答案是使用calendar 類。

calendar類的功能要比date類強大很多,而且在實現方式上也比date類要複雜一些。

calendar類是乙個抽象類,在實際使用時實現特定的子類的物件,建立物件的過程對程式設計師來說是透明的,只需要使用getinstance方法建立即可。

calendar c = calendar.getinstance();//

預設是當前日期

使用calendar類代表特定的時間,需要首先建立乙個calendar的物件,然後再設定該物件中的年月日引數來完成。

//

建立乙個代表2023年6月12日的calendar物件

calendar c1 =calendar.getinstance();

c1.set(2009, 6 - 1, 12);

calendar類中用以下這些常量表示不同的意義,jdk內的很多類其實都是採用的這種思想

常量描述

calendar.year

年份calendar.month

月份calendar.date

日期calendar.day_of_month

日期,和上面的字段意義完全相同

calendar.hour

12小時制的小時

calendar.hour_of_day

24小時制的小時

calendar.minute

分鐘calendar.second

秒calendar.day_of_week

星期幾set設定

如:

calendar c1 = calendar.getinstance();

呼叫:

public

final

void set(int year,int month,int date)

c1.set(2009, 6 - 1, 12);//

把calendar物件c1的年月日分別設這為:2009、6、12

利用字段型別設定

如果只設定某個字段,例如日期的值,則可以使用如下set方法:

public

void set(int field,int value)

把 c1物件代表的日期設定為10號,其它所有的數值會被重新計算

c1.set(calendar.date,10);

把c1物件代表的年份設定為2023年,其他的所有數值會被重新計算

c1.set(calendar.year,2008);

其他字段屬性set的意義以此類推

add設定

calendar c1 = calendar.getinstance();

把c1物件的日期加上10,也就是c1也就表示為10天後的日期,其它所有的數值會被重新計算

c1.add(calendar.date, 10);

把c1物件的日期減去10,也就是c1也就表示為10天前的日期,其它所有的數值會被重新計算

c1.add(calendar.date, -10);

其他字段屬性的add的意義以此類推

calendar c1 =calendar.getinstance();

//獲得年份

int year =c1.get(calendar.year);

//獲得月份

int month = c1.get(calendar.month) + 1;

//獲得日期

int date =c1.get(calendar.date);

//獲得小時

int hour =c1.get(calendar.hour_of_day);

//獲得分鐘

int minute =c1.get(calendar.minute);

//獲得秒

int second =c1.get(calendar.second);

//獲得星期幾(注意(這個與date類是不同的):1代表星期日、2代表星期一、3代表星期二,以此類推)

int day = c1.get(calendar.day_of_week);

Calendar類 字段操作相關

可以使用三種方法更改日曆字段 set add 和roll 其中,set 方法用來設定日曆的字段值。本次主要記錄一下add 方法和roll 方法。一 roll 方法 幫助文件中 roll f,delta 將delta新增到f欄位中,但不更改更大的字段。我遇到的問題 當前日期為2008 05 01,我想...

常用類 Calendar類

calendar類概述及其方法 calendar 類是乙個抽象類,它為特定瞬間與一組諸如 year month day of month hour 等 日曆字段之間的轉換提供了一些方法,並為操作日曆字段 例如獲得下星期的日期 提供了一些方法。成員方法 public static calendar g...

Date類以及Calendar類

date類和calendar類均是對時間進行的一些表示。首先來看一下date類的構造方法 date 根據當前的預設毫秒值建立日期物件 date long date 根據給定的毫秒值建立日期物件 system.out.println new date 結果 fri jun 05 15 09 27 cs...