【Java常用類庫】_日期操作類(DateFormat、SimpleDateFormat)筆記

來源:互聯網
上載者:User

【Java常用類庫】_日期操作類(DateFormat、SimpleDateFormat)筆記
 本章目標:
 1.掌握日期格式化的操作
 2.可以使用SimpleDateFormat進行日期格式虛化轉換操作
 3.編寫取得日期的操作類

3.1、DateFormat 類(是個單例形式擷取資料類,具體需指定好返回格式,通過format()方法接收資料)

此類是一個日期的格式化類,專門格式化日期的操作,因為java.util.Date類本身就已經包含了完整的日期,所以只需要將此日期按照一些好的格式格式一下顯示就好了。

public abstract class DateFormat extends Format

但是從定義上可以發現,此類是一個抽象類別,按照以往的思路,直接使用其子類執行個體化即可,但是DateFormat類本身的內部提供了可以直接為其執行個體化的操作。

得到日期的DateFormat對象:public static final DateFormat getDateInstance();

得到日期時間的 DateFormat對象:public static final DateFormat getDateTimeInstance();

直接使用DateFormat類完成Date類的轉換功能:

public final String format(Date date)

import java.text.DateFormat;import java.util.Date;public class DateDemo03{    DateFormat df1 = null;    DateFormat df2 = null;    df1 = DateFormat.getDateInstance();    df2 = DateFormat.getDateTimeInstance();    System.out.println("DATE:"+df1.format(new Date()));    System.out.println("DATETIME:"+df2.format(new Date()));}

通過此類可以直接將Date類的顯示進行合理的格式化操作。此時採用的是預設的格式化操作,也可以通過Locale 對象指定要顯示的地區。指定的地區是中國。

import java.text.DateFormat;import java.util.Date;import java.util.Locale;public class DateDemo04{    public static void main(String args[]){        DateFormat df1 = null;        DateFormat df2 = null;        df1 = DateFormat.getDateInstance(DateFormat.YEAR_FIELD,new Locale("zh","CN"));        df2 = DateFormat.getDateTimeInstance(DateFormat.LONG,DateFormat.LONG,new Locale("zh","CN"));        System.out.println(df1.format(new Date()));        System.out.println(df2.format(new Date()));    }    }

3.2、SimpleDateFormat 類

此類功能是完成日期的顯示格式化的,例如,在開發中,可能會將一種日期格式變為另外一種日期格式,如下所示:
原始日期:2008-10-19 10時 10分 10秒 345毫秒
但是以上的兩個日期中日期的數字是完全一樣的,唯一不同的是日期的顯示格式不同,所以要想實現這樣的轉換功能就必須依靠SimpleDateFormat類。

No    標記    描述
1    y    表示年,年份是四位元字,所以需要使用"yyyy"表示年
2    M    表示月,月份是兩位元字,所以需要使用"MM"表示月
3    d    表示日,日是兩位元字,所以需要使用"dd"表示日
4    H    表示時,兩位元字表示
5    m    表示分,兩位元字表示
6    s    表示秒
7    S    表示毫秒

在SimpleDateFormat類使用的時候,必須注意的是在構造對象時要傳入匹配的模板。

    構造方法:public SimpleDateFormat(String pattern)
    轉換:public Date parse(Sting source)throws ParseException   ->此時取得的是全部的時間數
    格式化:public final String format(Date date)    ->將時間重新格式化成字串顯示

執行個體:

import java.text.*;import java.util.*;public class DateDemo05{    public static void main(String args[]){        String strDate = "2008-10-19 10:11:30.345";        //準備第一個模板,從字串中提取出日期數字        String pat1 = "yyyy-MM-dd HH:mm:ss.SSS";        String pat2 = "yyyy年MM月dd日 HH時mm分ss秒SSS毫秒";        SimpleDateFormat sdf1 = new SimpleDateFormat(pat1);        SimpleDateFormat sdf2 = new SimpleDateFormat(pat2);        Date d = null;        try{            d = sdf1.parse(strDate);                        }catch(Exception e){            e.printStackTrace();        }        System.out.println(sdf2.format(d));    //將日期變為新格式    }}

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.