Date,SimpleDateFormat,Calendar 類的應用

Date類

在程序開發中,經常需要處理日期和時間的相關數據,此時我們可以使用 java.util 包中的 Date 類。這個類最主要的作用就是獲取當前時間,我們來看下 Date 類的使用:

Date d = new Date();//使用默認的構造方法創建Date對象

使用 Date 類的默認無參構造方法創建出的對象就代表當前時間,我們可以直接輸出 Date 對象顯示當前的時間: Wed Jan 12 19:06:38 CST 2016

其中, Tue 代表 Tuesday (星期2), Jan 代表 January (1月), 12 代表 12 號CST 代表 China Standard Time (中國標準時間,也就是北京時間,東八區)

從上面的輸出結果中,我們發現,默認的時間格式不是很友好,與我們日常看到的日期格式不太一樣,如果想要按指定的格式進行顯示,如 2014-06-11 09:22:30 ,那該怎麼做呢?

此時就到了 java.text 包中的 SimpleDateFormat 類大顯身手的時候了!!可以使用 SimpleDateFormat 來對日期時間進行格式化,如可以將日期轉換爲指定格式的文本,也可將文本轉換爲日期。

1. 使用 format() 方法將日期轉換爲指定格式的文本

//創建Date對象,表示當前時間
Date d = new Date();
//創建SimpleDateFormat對象,指定目標格式
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//調用format()方法,格式化時間,轉化爲指定格式字符串
String today = sdf.format(d);

代碼中的 “yyyy-MM-dd HH:mm:ss” 爲預定義字符串, yyyy 表示四位年, MM 表示兩位月份, dd 表示兩位日期, HH 表示小時(使用24小時制), mm 表示分鐘, ss 表示秒,這樣就指定了轉換的目標格式,最後調用 format() 方法將時間轉換爲指定的格式的字符串。

2. 使用 parse() 方法將文本轉換爲日期

//創建日期格式的字符串
String day = "2016年01月12號 19:17:49";
//創建SimpleDateFormat對象,指定字符串的日期格式
SimpleDateFormat df = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss"); 
//調用parse()方法,將字符串轉換爲日期
Date date = df.parse(day);

代碼中的 “yyyy年MM月dd日 HH:mm:ss” 指定了字符串的日期格式,調用 parse() 方法將文本轉換爲日期。

一定要注意哦:

1、 調用 SimpleDateFormat 對象的 parse() 方法時可能會出現轉換異常,即 ParseException ,因此需要進行異常處理

2、 使用 Date 類時需要導入 java.util 包,使用 SimpleDateFormat 時需要導入 java.text 包



Clender類

Date 類最主要的作用就是獲得當前時間,同時這個類裏面也具有設置時間以及一些其他的功能,但是由於本身設計的問題,這些方法卻遭到衆多批評,不建議使用,更推薦使用 Calendar 類進行時間和日期的處理。

java.util.Calendar 類是一個抽象類,可以通過調用 getInstance() 靜態方法獲取一個 Calendar 對象,此對象已由當前日期時間初始化,即默認代表當前時間,如 Calendar c = Calendar.getInstance();

那麼如何使用 Calendar 獲取年、月、日、時間等信息呢?我們來看下面的代碼:

Clender c = Clender.getInstance();//創建Clender對象
int year = c.get(Clender.YEAR);//獲取年
int month = c.get(Clender.MONTH)+1;//獲取月,0表示1月份
int day = c.get(Clender.DAY_OF_MONTH);//獲取日期
int hour = c.get(Clender.HOUR_OF_DAY);//獲取小時
int minute = c.get(Clender.MINUTE);//獲取分鐘
int second = c.get(Clender.SECOND);//獲取秒

其中,調用 Calendar 類的 getInstance() 方法獲取一個實例,然後通過調用 get() 方法獲取日期時間信息,參數爲需要獲得的字段的值, Calendar.YEAR 等爲 Calendar 類中定義的靜態常量。

Calendar 類提供了 getTime() 方法,用來獲取 Date 對象,完成 Calendar 和 Date 的轉換,還可通過 getTimeInMillis() 方法,獲取此 Calendar 的時間值,以毫秒爲單位。如下所示:

Date date = c.getTime();//將Clender對象轉換爲Date對象
Long time = c.getTimeInMillis();//獲取當前毫秒數
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章