標籤:處理 字串 列印 string轉換 get 日期格 java 簡單介紹 for
Date類概述
類Date表示特定的瞬間,精確到毫秒。1000毫秒=1秒
時間的原點:公元1970年 一月一日,午夜0:00:00 對應的毫秒值就是0
注意:時間和日期的計算,必須依賴毫秒值
1 long d =System.currentTimeMillis(); system.currentTimeMillis()擷取當前的毫秒值2 System.out.println(d);
建構函式
1 Date d1 =new Date(d);2 System.out.println(d1);
Date類常用方法
1 long d =System.currentTimeMillis(); 擷取當前的毫秒數給d,用getTime方法轉成毫秒數2 Date d1 =new Date();3 System.out.println(d1.getTime());
DateFormat類
DateFormat 是日期/時間格式化子類的抽象類別,它以與語言無關的方式格式化並解析日期或時間。日期/時間格式化子類(如 SimpleDateFormat類)允許進行格式化(也就是日期 -> 文本)、解析(文本-> 日期)和標準化。
日期格式
構造方法
DateFormat類方法
1 SimpleDateFormat sim =new SimpleDateFormat("yyyy-MM-d HH:mm:ss"); 建立日期格式類型2 Date d =new Date(); 擷取當前日期3 String str =sim.format(d); 把當前日期傳進來,調用format方法,並賦值給str4 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方法傳值字串賦值給dd4 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());
1.1
注意事項
西方星期的開始為周日,中國為周一。
在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);*/
java Dated Dateformat Calendar