Date類概述函數
類Date表示特定的瞬間,精確到毫秒。1000毫秒=1秒spa
時間的原點:公元1970年 一月一日,午夜0:00:00 對應的毫秒值就是0code
注意:時間和日期的計算,必須依賴毫秒值orm
1 long d =System.currentTimeMillis(); system.currentTimeMillis()獲取當前的毫秒值 2 System.out.println(d);
構造函數對象
1 Date d1 =new Date(d); 2 System.out.println(d1);
Date類經常使用方法blog
1 long d =System.currentTimeMillis(); 獲取當前的毫秒數給d,用getTime方法轉成毫秒數 2 Date d1 =new Date(); 3 System.out.println(d1.getTime());
DateFormat類字符串
DateFormat 是日期/時間格式化子類的抽象類,它以與語言無關的方式格式化並解析日期或時間。日期/時間格式化子類(如 SimpleDateFormat類)容許進行格式化(也就是日期 -> 文本)、解析(文本-> 日期)和標準化。get
日期格式form
構造方法class
DateFormat類方法
1 SimpleDateFormat sim =new SimpleDateFormat("yyyy-MM-d HH:mm:ss"); 建立日期格式類型 2 Date d =new Date(); 獲取當前日期 3 String str =sim.format(d); 把當前日期傳進來,調用format方法,並賦值給str 4 System.out.println(str);
l DateFormat類的做用:便可以將一個Date對象轉換爲一個符合指定格式的字符串,也能夠將一個符合指定格式的字符串轉爲一個Date對象。
指定格式的具體規則咱們可參照SimpleDateFormat類的說明,這裏作簡單介紹,規則是在一個字符串中,會將如下字母替換成對應時間組成部分,剩餘內容原樣輸出:
l 當出現y時,會將y替換成年
l 當出現M時,會將M替換成月
l 當出現d時,會將d替換成日
l 當出現H時,會將H替換成時
l 當出現m時,會將m替換成分
l 當出現s時,會將s替換成秒
DateFormat類經常使用方法
1 SimpleDateFormat sim =new SimpleDateFormat("yyyy-MM-dd"); 2 String d ="2018-05-25"; 建立字符串類型的日期格式 3 Date dd =sim.parse(d); 調用parse方法傳值字符串賦值給dd 4 System.out.println(dd);
l format方法,用來將Date對象轉換成String
l parse方法,用來將String轉換成Date(轉換時,該String要符合指定格式,不然不能轉換)。
Calendar類
Calendar是日曆類,在Date後出現,替換掉了許多Date的方法。該類將全部可能用到的時間信息封裝爲靜態成員變量,方便獲取。
Calendar爲抽象類,因爲語言敏感性,Calendar類在建立對象時並不是直接建立,而是經過靜態方法建立,將語言敏感內容處理好,再返回子類對象
Calendar類靜態方法
1 Calendar c =Calendar.getInstance(); 2 System.out.println(c); 返回當前日曆
Calenar經常使用方法
YEAR 年
MONTH 月,從0開始算起,最大11;0表明1月,11表明12月。
DATE 天
HOUR 時
MINUTE分
SECOND秒
1 Calendar c =Calendar.getInstance(); 獲取日曆,用get方法獲取月份 2 System.out.println(c.get(Calendar.YEAR));
1 Calendar c =Calendar.getInstance(); 2 c.add(Calendar.YEAR, 3); //add偏移,向後3年。 打印輸出2021年 3 System.out.println(c.get(Calendar.YEAR));
1 Calendar c =Calendar.getInstance(); 2 c.set(Calendar.YEAR, 2022); //能夠一個一個屬性的改,也能夠一次改好多個屬性 3 c.set(2020, 7, 7, 7, 7, 7); 4 System.out.println(c.get(Calendar.YEAR));
1 Calendar c =Calendar.getInstance(); 將日曆對象轉成日期對象 2 System.out.println(c.getTime());
西方星期的開始爲週日,中國爲週一。
在Calendar類中,月份的表示是以0-11表明1-12月。
日期是有大小關係的,時間靠後,時間越大。
小練習
求出本身已經出生多少天
1 long a=System.currentTimeMillis(); //獲取當前的毫秒數 2 Calendar ca =Calendar.getInstance(); //獲取當前的日曆,而後改爲出生日期 3 ca.set(1996, 8,20); 4 Date b =ca.getTime(); //將這個日曆轉成日期格式,再轉成毫秒數 5 long c =b.getTime(); 6 long d =(a-c)/24/60/60/1000; //毫秒數相減,當前的毫秒數前去出生的 7 System.out.println(d);*/