java時間處理,Date,DateFormat,Calendar

一射沟,Date類:日期類

表示特定的瞬間殊者,精確到毫秒,1秒=1000毫秒

1. 構造:

public Date();

無參構造验夯,構造一個代表當前系統(tǒng)時間的Date對象

public Date(long time)猖吴;

一指定毫秒創(chuàng)建一個代表當前系統(tǒng)時間的Date對象 毫秒值代表距離
標準時間(1970年01月01日 00:00:00)的毫秒值
把毫秒值轉換為Date對象

2. 成員方法:

toString();

是Date類重寫了Object類的toString 方法

返回值是 (星期幾 月份 月份 時:分:秒 時區(qū) 年)

getTime();

把Date對象轉換為毫秒值

返回值是當前時間距離標準時間有多少毫秒值

二,DateFormat類:日期格式化類

把date對象按指定格式轉換為String
DateFormat是一個抽象類挥转,不能直接使用它
一般使用SimpleDateFormat

1.構造

SimpleDateFormat(String pattern)

得到格式化時間

* y 年; M 年中的月份;
* w 年中的周數(shù);
* W月份中的周數(shù)海蔽;
* D 年中的天數(shù) ;
* d 月份中的天數(shù) 绑谣;
* F 月份中的星期 党窜;
* E 星期中的天數(shù) ;
* a Am/pm 標記借宵;
* H 一天中的小時數(shù)(0-23);
* k 一天中的小時數(shù)(1-24)幌衣;
* K am/pm 中的小時數(shù)(0-11)
* h am/pm 中的小時數(shù)(1-12)
* m 小時中的分鐘數(shù)
* s 分鐘中的秒數(shù)
* S 毫秒數(shù)
* z 時區(qū)
* Z 時區(qū)

2.成員方法

format(Date d);格式化時間

傳入Date
返回已經(jīng)格式化的字符串

parse(str);解析時間

傳入需要解析的字符串
返回Date對象


圖一

demo如圖1所示:輸出 :

2019年01月21日,19時 39分 53秒
Mon Jan 21 19:39:53 CST 2019
Mon Jan 21 19:39:53 CST 2019

三暇务,Calendar類:日歷類

Calendar是一個抽象類泼掠,不能直接使用
一般使用Calender的靜態(tài)方法

1.靜態(tài)方法

getInstance()

使用:Calendar.getInstance();

2.成員方法

get(Calendar.YEAR)怔软;獲取時間

獲取Calender中的某一個字段/成員變量

static int ALL_STYLES getDisplayNames的樣式說明符垦细, 表示所有樣式的名稱择镇,如“1月”和“1月”。
static int AM AM_PM字段的值表示從午夜到中午之前的一天中的一段時間括改。
static int AM_PM 對于現(xiàn)場數(shù) get和 set指示是否 HOUR是前或中午之后腻豌。
static int APRIL MONTH字段的價值 指示了格里高利和朱利安日歷中的第四個月。
protected boolean areFieldsSet 如果 fields[]與當前設置的時間同步嘱能,則為真吝梅。
static int AUGUST MONTH領域的價值 指示了公歷和朱利安日歷中的第八個月。
static int DATE get和 set字段編號表示該月的日期惹骂。
static int DAY_OF_MONTH get字段編號和 set本月的日期苏携。
static int DAY_OF_WEEK get字段編號和 set表示一周中的日期。
static int DAY_OF_WEEK_IN_MONTH get字段編號和 set當月的 set幾的序號对粪。
static int DAY_OF_YEAR get和 set字段編號右冻, set本年度的日數(shù)。
static int DECEMBER MONTH字段的值表示公歷和朱利安日歷中的第十二個月著拭。
static int DST_OFFSET get和 set字段編號 get夏令時偏移量(以毫秒為單位)纱扭。
static int ERA get和 set字段號表示時代,例如在儒略歷中的AD或BC儡遮。
static int FEBRUARY MONTH字段的價值表示今年第二個月在公歷和朱利安日歷乳蛾。
static int FIELD_COUNT get和 set的不同字段的數(shù)量。
protected int[] fields 該日歷的當前設置時間的日歷字段值鄙币。
static int FRIDAY DAY_OF_WEEK字段的值表示周五肃叶。
static int HOUR get和 set字段編號, get上午或下午的小時十嘿。
static int HOUR_OF_DAY get字段編號和 set當天的小時數(shù)被环。
protected boolean[] isSet 說明是否設置日歷的指定日歷字段的標志。
protected boolean isTimeSet 如果那么那么 time的值是有效的详幽。
static int JANUARY MONTH字段的價值表示今年首次在公歷和朱利安日歷筛欢。
static int JULY MONTH字段的值代表了 公歷和朱利安日歷中的第七個月。
static int JUNE MONTH字段的價值 指示了公歷和朱利安日歷中的第六個月唇聘。
static int LONG getDisplayNamegetDisplayNames相當于 LONG_FORMAT的樣式說明 版姑。
static int LONG_FORMAT getDisplayNamegetDisplayNames的樣式說明 表示用于格式的長名稱迟郎。
static int LONG_STANDALONE 一個 getDisplayNamegetDisplayNames的樣式說明 剥险, 表示一個獨立使用的長名稱,例如月份名稱作為日歷頭宪肖。
static int MARCH MONTH字段的值代表了 公歷和朱利安日歷中的第三個月表制。
static int MAY MONTH領域的價值 指示了公歷和朱利安日歷中的第五個月健爬。
static int MILLISECOND get和 set字段號表示 get內(nèi)的 set數(shù)。
static int MINUTE get和 set字段編號表示小時內(nèi)的分鐘么介。
static int MONDAY DAY_OF_WEEK字段的值表示星期一娜遵。
static int MONTH get和 set字段號表示月份。
static int NARROW_FORMAT getDisplayNamegetDisplayNames的樣式說明 壤短, 表示用于格式的窄名稱设拟。
static int NARROW_STANDALONE getDisplayNamegetDisplayNames的樣式說明 獨立地表示一個狹義的名稱。
static int NOVEMBER MONTH領域的價值 指示了公歷和朱利安日歷中的第十一個月久脯。
static int OCTOBER MONTH字段的價值表示在公歷和朱利安日歷中的一年中的第十個月纳胧。
static int PM AM_PM字段的值表示從中午到午夜之前的一天中的一段時間。
static int SATURDAY DAY_OF_WEEK字段的值表示星期六帘撰。
static int SECOND get和 set字段編號表示分鐘內(nèi)的第二個跑慕。
static int SEPTEMBER MONTH字段的值代表了 公歷和朱利安日歷中的第九個月。
static int SHORT getDisplayNamegetDisplayNames的樣式說明 摧找, 相當于 SHORT_FORMAT 核行。
static int SHORT_FORMAT getDisplayNamegetDisplayNames的樣式說明 表示用于格式的短名稱慰于。
static int SHORT_STANDALONE 一個用于 getDisplayNamegetDisplayNames的樣式說明 钮科, 表示一個簡單的名稱,例如一個月縮寫作為日歷頭婆赠。
static int SUNDAY DAY_OF_WEEK字段的值表示星期天绵脯。
static int THURSDAY DAY_OF_WEEK字段的值表示星期四。
protected long time 這個日歷的當前設定時間休里,以1970年1月1日蛆挫,格林尼治標準時間0:00:00之后的毫秒表示。
static int TUESDAY DAY_OF_WEEK字段的值表示周二妙黍。
static int UNDECIMBER MONTH字段的值表示一年的第十三個月悴侵。
static int WEDNESDAY DAY_OF_WEEK字段的值表示周三。
static int WEEK_OF_MONTH get和 set字段編號拭嫁, set當月的周數(shù)可免。
static int WEEK_OF_YEAR get和 set字段編號, set本年度的周數(shù)做粤。
static int YEAR get現(xiàn)場編號和 set表示年份浇借。
static int ZONE_OFFSET get和 set字段編號, get GMT以毫秒為 get的原始偏移量怕品。
add(int field, int amount); 調整時間

給定的字段添加指定的值如demo2
注意:添加天數(shù)妇垢,月份,年等等 該方法會自動計算

圖二

輸出結果:

java.util.GregorianCalendar[time=1548078976051,areFieldsSet=true,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id="Asia/Shanghai",offset=28800000,dstSavings=0,useDaylight=false,transitions=19,lastRule=null],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=2019,MONTH=0,WEEK_OF_YEAR=4,WEEK_OF_MONTH=4,DAY_OF_MONTH=21,DAY_OF_YEAR=21,DAY_OF_WEEK=2,DAY_OF_WEEK_IN_MONTH=3,AM_PM=1,HOUR=9,HOUR_OF_DAY=21,MINUTE=56,SECOND=16,MILLISECOND=51,ZONE_OFFSET=28800000,DST_OFFSET=0]
2019年01月21日
2019年01月23日
set(int field, int value)設置時間
//設置時間 
calendar.set(Calendar.YEAR,1000);
calendar.set(Calendar.DAY_OF_MONTH,10); 
calendar.set(Calendar.MONTH,100);
System.out.println(getDate(calendar));

輸出:1008年5月10日

三,時間類的轉換

Calendar 轉化 String

Calendar calendar= Calendar.getInstance();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String dateStr = sdf.format(calendar.getTime());

String 轉化Calendar

String str="2019-1-21";
SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd");
Date date =sdf.parse(str);
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);

Date 轉化String

SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd");
String dateStr=sdf.format(new Date());

String 轉化Date

String str="2019-1-21";
SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd");
Date date= sdf.parse(str);

Date 轉化Calendar

Calendar calendar = Calendar.getInstance();
calendar.setTime(new Date());

Calendar轉化Date

Calendar calendar = Calendar.getInstance(); 
Date date =calendar.getTime();
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末闯估,一起剝皮案震驚了整個濱河市灼舍,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌涨薪,老刑警劉巖骑素,帶你破解...
    沈念sama閱讀 211,042評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異尤辱,居然都是意外死亡砂豌,警方通過查閱死者的電腦和手機厢岂,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,996評論 2 384
  • 文/潘曉璐 我一進店門光督,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人塔粒,你說我怎么就攤上這事结借。” “怎么了卒茬?”我有些...
    開封第一講書人閱讀 156,674評論 0 345
  • 文/不壞的土叔 我叫張陵船老,是天一觀的道長。 經(jīng)常有香客問我圃酵,道長柳畔,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,340評論 1 283
  • 正文 為了忘掉前任郭赐,我火速辦了婚禮薪韩,結果婚禮上,老公的妹妹穿的比我還像新娘捌锭。我一直安慰自己俘陷,他們只是感情好,可當我...
    茶點故事閱讀 65,404評論 5 384
  • 文/花漫 我一把揭開白布观谦。 她就那樣靜靜地躺著拉盾,像睡著了一般。 火紅的嫁衣襯著肌膚如雪豁状。 梳的紋絲不亂的頭發(fā)上捉偏,一...
    開封第一講書人閱讀 49,749評論 1 289
  • 那天,我揣著相機與錄音泻红,去河邊找鬼夭禽。 笑死,一個胖子當著我的面吹牛承桥,可吹牛的內(nèi)容都是我干的驻粟。 我是一名探鬼主播,決...
    沈念sama閱讀 38,902評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼蜀撑!你這毒婦竟也來了挤巡?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 37,662評論 0 266
  • 序言:老撾萬榮一對情侶失蹤酷麦,失蹤者是張志新(化名)和其女友劉穎矿卑,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體沃饶,經(jīng)...
    沈念sama閱讀 44,110評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡母廷,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,451評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了糊肤。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片琴昆。...
    茶點故事閱讀 38,577評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖馆揉,靈堂內(nèi)的尸體忽然破棺而出业舍,到底是詐尸還是另有隱情,我是刑警寧澤升酣,帶...
    沈念sama閱讀 34,258評論 4 328
  • 正文 年R本政府宣布舷暮,位于F島的核電站,受9級特大地震影響噩茄,放射性物質發(fā)生泄漏下面。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,848評論 3 312
  • 文/蒙蒙 一绩聘、第九天 我趴在偏房一處隱蔽的房頂上張望沥割。 院中可真熱鬧,春花似錦君纫、人聲如沸驯遇。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,726評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽叉庐。三九已至,卻和暖如春会喝,著一層夾襖步出監(jiān)牢的瞬間陡叠,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,952評論 1 264
  • 我被黑心中介騙來泰國打工肢执, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留枉阵,地道東北人。 一個月前我還...
    沈念sama閱讀 46,271評論 2 360
  • 正文 我出身青樓预茄,卻偏偏與公主長得像兴溜,于是被迫代替她去往敵國和親侦厚。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,452評論 2 348

推薦閱讀更多精彩內(nèi)容