使用 Date 和 SimpleDateFormat 類轉(zhuǎn)換時間格式:
在程序開發(fā)中,經(jīng)常需要處理日期和時間的相關(guān)數(shù)據(jù)债查,此時我們可以使用 java.util 包中的 Date 類非区。這個類最主要的作用就是獲取當(dāng)前時間,我們來看下 Date 類的使用:
使用 Date 類的默認無參構(gòu)造方法創(chuàng)建出的對象就代表當(dāng)前時間盹廷,我們可以直接輸出 Date 對象顯示當(dāng)前的時間征绸,顯示的結(jié)果如下:
其中, Fri?代表 Friday (星期五)俄占, Jan代表 January (一月)管怠, 25 代表 25 號, CST 代表 China Standard Time (中國標(biāo)準(zhǔn)時間颠放,也就是北京時間排惨,東八區(qū))吭敢。
從上面的輸出結(jié)果中碰凶,我們發(fā)現(xiàn),默認的時間格式不是很友好鹿驼,與我們?nèi)粘欲低?吹降娜掌诟袷讲惶粯樱绻胍粗付ǖ母袷竭M行顯示畜晰,如 2019-01-25 15:35:02 砾莱,那該怎么做呢?
此時就到了 java.text 包中的 SimpleDateFormat 類大顯身手的時候了F啾恰腊瑟!可以使用 SimpleDateFormat 來對日期時間進行格式化,如可以將日期轉(zhuǎn)換為指定格式的文本块蚌,也可將文本轉(zhuǎn)換為日期闰非。
1. 使用 format() 方法將日期轉(zhuǎn)換為指定格式的文本
代碼中的 “yyyy-MM-dd HH:mm:ss” 為預(yù)定義字符串, yyyy 表示四位年峭范, MM 表示兩位月份财松, dd 表示兩位日期, HH 表示小時(使用24小時制), mm 表示分鐘辆毡, ss 表示秒菜秦,這樣就指定了轉(zhuǎn)換的目標(biāo)格式,最后調(diào)用format()?方法將時間轉(zhuǎn)換為指定的格式的字符串舶掖。
運行結(jié)果:2019-01-25 15:39:01?
2. 使用 parse() 方法將文本轉(zhuǎn)換為日期
代碼中的 “yyyy年MM月dd日 HH:mm:ss” 指定了字符串的日期格式球昨,調(diào)用parse()?方法將文本轉(zhuǎn)換為日期。
運行結(jié)果:
一定要注意哦:
1眨攘、 調(diào)用 SimpleDateFormat 對象的 parse() 方法時可能會出現(xiàn)轉(zhuǎn)換異常褪尝,即 ParseException ,因此需要進行異常處理
2期犬、 使用 Date 類時需要導(dǎo)入 java.util 包河哑,使用 SimpleDateFormat 時需要導(dǎo)入 java.text 包
-------------------------------------------------------
Date 類最主要的作用就是獲得當(dāng)前時間,同時這個類里面也具有設(shè)置時間以及一些其他的功能龟虎,但是由于本身設(shè)計的問題璃谨,這些方法卻遭到眾多批評,不建議使用鲤妥,更推薦使用 Calendar 類進行時間和日期的處理佳吞。
java.util.Calendar 類是一個抽象類,可以通過調(diào)用?getInstance()?靜態(tài)方法獲取一個 Calendar 對象棉安,此對象已由當(dāng)前日期時間初始化底扳,即默認代表當(dāng)前時間,如 Calendar c = Calendar.getInstance();
那么如何使用 Calendar 獲取年贡耽、月衷模、日、時間等信息呢蒲赂?我們來看下面的代碼:
其中阱冶,調(diào)用 Calendar 類的 getInstance() 方法獲取一個實例,然后通過調(diào)用 get() 方法獲取日期時間信息滥嘴,參數(shù)為需要獲得的字段的值木蹬, Calendar.Year 等為 Calendar 類中定義的靜態(tài)常量。
運行結(jié)果:?
Calendar 類提供了?getTime()?方法若皱,用來獲取 Date 對象镊叁,完成 Calendar 和 Date 的轉(zhuǎn)換,還可通過?getTimeInMillis()?方法走触,獲取此 Calendar 的時間值晦譬,以毫秒為單位。如下所示:
運行結(jié)果: