1. 程式人生 > >Date類 和 SimpleDateFormat類簡述

Date類 和 SimpleDateFormat類簡述

一 Date 類

在程式開發中,經常需要處理日期和時間的相關資料,此時我們可以使用 java.util 包中的Date類。這個類最主要的作用就是獲取當前時間,使用Date類代表當前系統時間:使用Date類的預設構造方法創建出來的物件就代表當前的時間,由於Date類覆蓋了toString()方法。所以可以直接輸出Date型別的物件,我們來看下Date的類的使用:

Date d=new Date();//使用預設的構造方法建立Date物件
System.out.println(d);//輸出Date物件

使用Date類的預設無參構造方法創建出的物件就代表當前時間,我們可以直接輸出Date物件顯示當前的時間,顯示的架構如下:Fri Apr 24 13:57:05 CST 2015 Fri 代表 星期五,Apr代表四月, 24 代表 24號 CST 代表 中國標準時間也就是北京時間,東八區。

1 Date 類使用之Date代表當前時間

使用Date類代表當前系統時間:使用Date類的預設構造方法創建出來的物件就代表當前的時間,由於Date類覆蓋了toString()方法。所以可以直接輸出Date型別的物件

Date date = new Date();
System.out.println(date);
輸出 :Sun Aug 28 10:23:06 CST 2016
2 Date 類使用之Date代表指定時間

使用Date類代表指定時間:使用帶參的構造方法,可以構造指定日期的Date類物件,Date類中年份的引數應該是實際需要代表的年份減去1900,實際需要代表的月份減去1以後的值。

Date date = new Date(2016-1900,8-1,28);
System.out.println(date);
輸出 :Sun Aug 28 00:00:00 CST 2016  代表的日期就是2016年8月28號

從上面的輸出結果中,我們發現,預設的時間格式不是很友好(也不是我們想要顯示的),此時我們就用到了 java.text 包中的 SimpledDateFormat 類 大顯身手了,可以使用 SimpleDateFormat 來對日期時間進行格式化,如可以將日期裝換為指定格式的文字,也可將文字轉換為日期。

二 SimpleDateFormat類

使用 Date 和 SimpleDateFormat 類表示時間。Date類的預設時間格式不友好,可以使用 SimpleDateFormat 來對日期時間進行格式化,如可以將日期轉換為指定格式的文字,也可將文字轉換為日期。 SimpleDateFormat類常用parse()和format()兩種方法可以進行時間格式格式化。parse()和format()兩種方法是有區別的,parse()返回的是一個Date型別(系統日期格式)資料,format返回的是一個StringBuffer型別(文字格式)的資料。

1 parse()方法

SimpleDateFormat中的parse方法可以把String型的字串轉換成特定格式的Date型別(日期型別) 即 字串 -> Date型別

使用步驟:

1.建立日期格式的字串 
	
	String day="2015年04月24日 14:13:50";
2.建立SimpleDateFomat物件,指定字串的日期格式      
	
	SimpleDateFormat df=new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
	
3.呼叫 parse() 方法,將字串轉換為日期            
	
	 Date d=df.parse(day); 

4.輸出                                               
	
	System.out.println("當前時間:"+d);
	
5.結果                                               
	
	 Fri Apr 24 14:13:50 CST 2015

如下例:

String str = "2013-01-21 15:10:20";  
Date date = null;  
SimpleDateFormat sdf = new SimpleDateFormat("yyyy.MM.dd-HH:mm:ss");  
 try {  
	              date = sdf.parse(str);  
	           } catch (ParseException e) {  
	              System.out.println(e.getMessage());  
	           }   
System.out.println(date);  //輸出指定日期
System.out.println(date.getTime());  //輸出指定日期 距離 xxx 的毫秒數
2 format()方法

SimpleDateFormat中的format方法可以把Date型的字串轉換成特定格式的String型別 即 Date型別 -> 字串

使用步驟:

 1.建立Date物件,便是當前時間              
 
 	  Date d = new Date();
 
 2.建立 SimpleDateFormat 物件,指定目標格式    
 	
 	 SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm");
 	 
3.呼叫format()方法,格式化時間,轉換為指定格式字串 
	
	 String today = sdf.format(d);
4.輸出轉換後的字串                   
 	
 	System.out.println(today);
5.結果是 : 2014-06-11  09:55:48  

如下例:

String str = "2013-01-21 15:10:20";  
Date date = null;  
SimpleDateFormat dateformat=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss ");
String a=dateformat.format(new Date());
System.out.println("時間:"+a);
3 日期時間格式與毫秒數的相互轉換

輸入日期 轉換為 毫秒數,使用Date方法

// 先用SimpleDateFormat.parse() 方法將日期字串轉化為目標Date格式,通過Date.getTime()方法,將其轉化為毫秒數

String date = "2017-06-27 15-20-00";
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH-mm-ss");//24小時制
//  SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd hh-mm-ss");//12小時制
long time = simpleDateFormat.parse(date).getTime();
System.out.println(time); 
輸出 : 121456789.....  當前時間毫秒數