- 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
類是一個抽象類,它爲特定瞬間與一組諸如 YEAR
、MONTH
、DAY_OF_MONTH
、HOUR
等 日曆字段
之間的轉換提供了一些方法,併爲操作日曆字段(例如獲得下星期的日期)提供了一些方法。瞬間可用毫秒值來表示,它是距曆元(即格林威治標準時間 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月。
日期是有大小關係的,時間靠後,時間越大。