Date類: 使用 Date 類的默認無參構造方法創建出的對象就代表當前時間,我們可以直接輸出 Date 對象顯示當前的時間,顯示的結果如下:
Date d = new Date();System.out.PRintln(d);結果:
Mon Feb 20 20:50:54 CST 2017從結果可以看到,默認的時間格式不是太友好,與我們平時看到的時間格式不太一樣,那如何才能讓時間以我們指定的格式來顯示呢?
SimpleDateFormat類:
那我們就可以使用SimpleDateFormat類對日期進行格式化 ,可以將日期轉換為我們指定格式的文本,當然也可以將文本轉換為日期。
1.使用format()方法將日期轉換為指定格式的文本 例:
package Date和SimpleDateFormat類;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Date;public class HelloWorld { /** * @param args */ public static void main(String[] args) throws ParseException { //第一步:創建Date對象,表示當前時間 Date d = new Date(); //第二步:創建SimpleDateFormat對象,并指定目標格式 SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy年MM月dd日 HH時mm分ss秒"); SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy/MM/dd HH:mm"); SimpleDateFormat sdf3 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); //第三步:調用format方法,將日期轉換為字符串 String st1 = sdf1.format(d); String st2 = sdf2.format(d); String st3 = sdf3.format(d); //輸出轉換后的字符串 System.out.println(st1); System.out.println(st2); System.out.println(st3); }}結果:
2017年02月20日 20時50分54秒2017/02/20 20:502017-02-20 20:50:542.使用prase()方法將文本轉換為日期
package Date和SimpleDateFormat類;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Date;public class HelloWorld { /** * @param args */ public static void main(String[] args) throws ParseException { //將指定格式的文本轉換為日期 //創建指定日期格式的文本 String st = "2015年3月5日 12:4:1"; //創建指定日期格式的SimpleDateFormat對象 SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss"); //調用parse()方法,將文本轉換為日期 Date da = sdf.parse(st); //輸出轉換后的文本 System.out.println(da); }}結果:
Thu Mar 05 12:04:01 CST 2015注意! 1、 調用 SimpleDateFormat 對象的 parse() 方法時可能會出現轉換異常,即 ParseException ,因此需要進行異常處理
2、 使用 Date 類時需要導入 java.util 包,使用 SimpleDateFormat 時需要導入 java.text 包。
Calendar類: Date類最主要的作用就是獲得當前時間,同時這個類里面也具有設置時間以及一些其他的功能,但是由于本身設計的問題,這些方法卻遭到眾多批評,不建議使用,更推薦使用 Calendar 類進行時間和日期的處理。
java.util.Calendar 類是一個抽象類,可以通過調用 getInstance() 靜態方法獲取一個 Calendar 對象,此對象已由當前日期時間初始化,即默認代表當前時間,如 Calendar c = Calendar.getInstance(); 那么如何使用 Calendar類呢?
例:
package Date和SimpleDateFormat類;import java.util.Calendar;public class Calendar類 { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub //創建Calendar對象 Calendar ca = Calendar.getInstance(); int year = ca.get(Calendar.YEAR); //獲取年 int month = ca.get(Calendar.MONTH)+1; //獲取月 int day = ca.get(Calendar.DAY_OF_MONTH);//獲取日 int hour = ca.get(Calendar.HOUR_OF_DAY);//獲取小時 int minute = ca.get(Calendar.MINUTE); //獲取分鐘 int second = ca.get(Calendar.SECOND); //獲取秒 //輸出時間 System.out.println("當前時間:"+year+"-"+month+"-"+day+" "+hour+":"+minute+":"+second); }}結果:
當前時間:2017-2-20 21:58:57其中,調用 Calendar 類的 getInstance() 方法獲取一個實例,然后通過調用 get() 方法獲取日期時間信息,參數為需要獲得的字段的值, Calendar.Year 等為 Calendar 類中定義的靜態常量。
Calendar 類提供了 getTime() 方法,用來獲取 Date 對象,完成 Calendar 和 Date 的轉換,還可通過 getTimeInMillis() 方法,獲取此 Calendar 的時間值,以毫秒為單位
例:
import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;public class HelloWorld { public static void main(String[] args) { // 創建Calendar對象 Calendar c = Calendar.getInstance(); // 將Calendar對象轉換為Date對象 Date date = c.getTime(); // 創建SimpleDateFormat對象,指定目標格式 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); // 將日期轉換為指定格式的字符串 String now = sdf.format(date); System.out.println("當前時間:" + now); }}結果:
當前時間:2017-02-20 12:50:45新聞熱點
疑難解答