Data DateFormat Calendar

  • Data

類 Date 表示特定的瞬間,精確到毫秒。其中有未過時的構造函數可以把毫秒值轉成日期對象。

//創建日期對象,把當前的毫秒值轉成日期對象

Date date = new Date(1607616000000L);

System.out.println(date);

//打印結果:Fri Dec 11 00:00:00 CST 2020

Date中有getYear、getMouth等方法,可以他們已經過時,打印的date對象就是默認調用了這個toString方法

 把日期對象轉換成對應的時間毫秒值


  • DateFormat

            DateFormat 是日期/時間格式化子類的抽象類,它以與語言無關的方式格式化並解析日期或時間。日期/時間格式化子類(如SimpleDateFormat)允許進行格式化(也就是日期 -> 文本)、解析(文本-> 日期)和標準化。

//創建日期格式化對象,在獲取格式化對象時可以指定風格

DateFormat     df    =   new    SimpleDateFormat("yyyy-MM-dd");//對日期進行格式化

Date     date = new     Date(1607616000000L);

String  str_time =df.format(date);

System.out.println(str_time);//2020年12月11日

DateFormat類的作用:即可以將一個Date對象轉換爲一個符合指定格式的字符串,也可以將一個符合指定格式的字符串轉爲一個Date對象。

指定格式的具體規則我們可參照SimpleDateFormat類的說明,這裏做簡單介紹,規則是在一個字符串中,會將以下字母替換成對應時間組成部分,剩餘內容原樣輸出

當出現y時,會將y替換成年

當出現M時,會將M替換成月

當出現d時,會將d替換成日

當出現H時,會將H替換成時

當出現m時,會將m替換成分

當出現s時,會將s替換成秒


類常用方法:


format方法,用來將Date對象轉換成String

parse方法,用來將String轉換成Date(轉換時,該String要符合指定格式,否則不能轉換)。

把Date對象轉換成String

    Datedate = new Date(1607616000000L);//Fri Dec 11 00:00:00 CST 2020

    DateFormatdf = new SimpleDateFormat(“yyyy年MM月dd日”);

    String str= df.format(date);

    //str中的內容爲2020年12月11日

 

把String轉換成Date對象

    String str= ”2020年12月11日”;

    DateFormatdf = new SimpleDateFormat(“yyyy年MM月dd日”);

    Date date= df.parse( str );

    //Date對象中的內容爲Fri Dec 11 00:00:00 CST2020


  • Calendar
        Calendar 類是一個抽象類,它爲特定瞬間與一組諸如 YEARMONTHDAY_OF_MONTHHOUR日曆字段之間的轉換提供了一些方法,併爲操作日曆字段(例如獲得下星期的日期)提供了一些方法。瞬間可用毫秒值來表示,它是距曆元(即格林威治標準時間 1970 年 1 月 1 日的 00:00:00.000,格里高利曆)的偏移量。

常用方法:

public static Calendar getInstance() //獲取日期對象

public int get(int field)   //獲取時間字段值,字段參見幫助文檔

YEAR 年

MONTH 月,從0開始算起,最大11;0代表1月,11代表12月。

DATE 天

HOUR 時

MINUTE分

SECOND秒

代碼演示:

    Calendar c= Calendar.getInstance();

    int year =c.get(Calendar.YEAR);

    public final void set(int field,int value)//設置指定字段的值

代碼演示:

    Calendar c= Calendar.getInstance();

    //設置時間爲2020年5月20日

    c.set(Calendar.YEAR,2020);

    c.set(Calendar.MONTH,4);

    c.set(Calendar.DATE,20);

 

public final Date getTime()    //獲取該日曆對象轉成的日期對象

代碼演示:

Calendar c = Calendar.getInstance();

    Date d =c.getTime();

注意事項

西方星期的開始爲週日,中國爲週一。

在Calendar類中,月份的表示是以0-11代表1-12月。

日期是有大小關係的,時間靠後,時間越大。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章