關於java日期類Date,DateFormat,SimpleDateFormat,Calendar總結

                      Date,DateFormat,SimpleDateFormat,Calendarjava

                                    spacer.gif

一、Date類:api

    在java.util包下,類 Date 表示特定的瞬間,精確到毫秒。從 JDK 1.1 開始,應該使用 Calendar 類實現日期和時間字段之間轉換,使用 DateFormat 類來格式化和分析日期字符串。Date 中的相應方法已廢棄。因此Date主要用來生成時間(是網上看法,我也是這樣認爲的)。ide

(1)Date有兩個構造方法:函數

        (1)Date():分配 Date 對象並初始化此對象,以表示分配它的時間(精確到毫秒)。測試

        (2)Date(long date)基本上沒用不用記。url

   eg:Date date=new Date();  System.out.println(date);輸出:Tue Jun 16 20:51:24 CST 2015spa

(2)Date經常使用方法:orm

    boolean after(Date when) 測試此日期是否在指定日期以後  對象

沒什麼用我感受)                   boolean before(Date when) 測試此日期是否在指定日期以前           

   int compareTo(Date anotherDate) 比較兩個日期的順序            繼承


二、DateFormat類:

     在java.text包下,DateFormat 是日期/時間格式化子類的抽象類,它以與語言無關的方式格式化並解析日期或時間。它是抽象類,因此不能構造方法來實例化,能夠用getDateInstance()和getDateTimeInstance()這兩個靜態函數來進行實例化。這兩個的區別是一個返回的是日期,一個返回的是日期+時間.同時,getDateInstance(int style),getDateInstance(int style, Locale aLocale)等方法也挺好用的。關於style值:

FULL: 長度最長 好比:2013年1月9日 星期三        LONG: 長度更長 好比:January 9, 2013

MEDIUM:長度比SHORT長 好比:Jan 9,2013           SHORT: 徹底爲數字,好比:13/1/9

eg:DateFormat d1=DateFormat.getDateInstance();

     DateFormat d2=DateFormat.getDateTimeInstance();                                       

        String s1=d1.format(new Date());                                                   

        String s2=d2.format(new Date());         輸出:2015-6-16                           

        System.out.println(s1);                        2015-6-16 21:05:22                  

        System.out.println(s2);


eg1:DateFormat d1=DateFormat.getDateInstance(DateFormat.LONG);       輸出:2015年6月16日

三、SimpleDateFormat類:

    在java.text包下,它是DateFormat類的直接子類,繼承DateFormat類。我是這麼理解SimpleDateFormat類的,它相對於Datef類更接地氣,你能夠隨意給他指定一個形式的日期,進行更改。SimpleDateFormat類主要功能是完成日期之間格式的轉換,並且在轉換過程當中須要採用以下步驟:1.指定一個模板,並根據這個模板,取出第一個全部的時間數字。2.全部的時間數字將採用Date類保存。3.將全部的時間數字從新進行格式轉換。模板以下表,注意區分大小寫

日期 模板 描述
Y 表示年:yyyy
M 表示月:MM
d 表示日:dd
HH 表示時:HH
mm 表示分:mm
ss 表示秒:ss
毫秒 S 毫秒:SSS

eg:SimpleDateFormat sdf=new SimpleDateFormat("y年M月d日    HH:mm:ss D");    //也能夠是"yyyy年MM月dd日

       System.out.println(sdf.format(new Date()));        輸出:2015年6月16日    21:39:10 167

四、Calendar類:

    在java.util包下,Calendar 類是一個抽象類,它爲「特定瞬間」與一組諸如 「YEAR」、

「MONTH」、「DAY_OF_MONTH」、「HOUR 」等日曆字段之間的轉換提供了一些方法,併爲操做日曆字段(例如得到下星期的日期)提供了一些方法。Calendar實例化有兩種方式,第一種是 Calendar nowTime = new GregorianCalendar();,第二種是Calendar calendar=Calendar.getInstance();

 eg:Calendar c=Calendar.getInstance();

    System.out.println(c.get(Calendar.YEAR)+"年"+(c.get(Calendar.MONTH)+1)+"月"+

    c.get(Calendar.DATE)+"日"+c.get(Calendar.HOUR)+"點");   // 輸出:2015年6月16日9點

(1)經常使用的方法:

        add(int date,int num);//返回num先後的日期//date表示日期字段,num表示添加的天數;

     get(int date);//經過獲取字段,返回具體的信息;


    這些看法是找了大量資料濃縮而成的精華,我感受能對一個新入門的人起一些關鍵性的做用,至於這些類裏面還有不少不少的方法,我以爲不必記了,不懂的時候能夠查api文檔。

相關文章
相關標籤/搜索