java Dated Dateformat Calendar
?
Date類概述
類Date表示特定的瞬間,精確到毫秒。1000毫秒=1秒
時(shí)間的原點(diǎn):公元1970年 一月一日,午夜0:00:00 對(duì)應(yīng)的毫秒值就是0
注意:時(shí)間和日期的計(jì)算,必須依賴毫秒值
1 long d =System.currentTimeMillis(); system.currentTimeMillis()獲取當(dāng)前的毫秒值 2 System.out.println(d);構(gòu)造函數(shù)
1 Date d1 =new Date(d); 2 System.out.println(d1);Date類常用方法
1 long d =System.currentTimeMillis(); 獲取當(dāng)前的毫秒數(shù)給d,用getTime方法轉(zhuǎn)成毫秒數(shù) 2 Date d1 =new Date(); 3 System.out.println(d1.getTime());DateFormat類
DateFormat 是日期/時(shí)間格式化子類的抽象類,它以與語言無關(guān)的方式格式化并解析日期或時(shí)間。日期/時(shí)間格式化子類(如 SimpleDateFormat類)允許進(jìn)行格式化(也就是日期 -> 文本)、解析(文本-> 日期)和標(biāo)準(zhǔn)化。
?日期格式
?構(gòu)造方法
DateFormat類方法
?
1 SimpleDateFormat sim =new SimpleDateFormat("yyyy-MM-d HH:mm:ss"); 創(chuàng)建日期格式類型 2 Date d =new Date(); 獲取當(dāng)前日期 3 String str =sim.format(d); 把當(dāng)前日期傳進(jìn)來,調(diào)用format方法,并賦值給str 4 System.out.println(str);l?DateFormat類的作用:即可以將一個(gè)Date對(duì)象轉(zhuǎn)換為一個(gè)符合指定格式的字符串,也可以將一個(gè)符合指定格式的字符串轉(zhuǎn)為一個(gè)Date對(duì)象。
指定格式的具體規(guī)則我們可參照SimpleDateFormat類的說明,這里做簡單介紹,規(guī)則是在一個(gè)字符串中,會(huì)將以下字母替換成對(duì)應(yīng)時(shí)間組成部分,剩余內(nèi)容原樣輸出:
l?當(dāng)出現(xiàn)y時(shí),會(huì)將y替換成年
l?當(dāng)出現(xiàn)M時(shí),會(huì)將M替換成月
l?當(dāng)出現(xiàn)d時(shí),會(huì)將d替換成日
l?當(dāng)出現(xiàn)H時(shí),會(huì)將H替換成時(shí)
l?當(dāng)出現(xiàn)m時(shí),會(huì)將m替換成分
l?當(dāng)出現(xiàn)s時(shí),會(huì)將s替換成秒
?DateFormat類常用方法
1 SimpleDateFormat sim =new SimpleDateFormat("yyyy-MM-dd"); 2 String d ="2018-05-25"; 創(chuàng)建字符串類型的日期格式 3 Date dd =sim.parse(d); 調(diào)用parse方法傳值字符串賦值給dd 4 System.out.println(dd);l?format方法,用來將Date對(duì)象轉(zhuǎn)換成String
l?parse方法,用來將String轉(zhuǎn)換成Date(轉(zhuǎn)換時(shí),該String要符合指定格式,否則不能轉(zhuǎn)換)。
?Calendar類
Calendar是日歷類,在Date后出現(xiàn),替換掉了許多Date的方法。該類將所有可能用到的時(shí)間信息封裝為靜態(tài)成員變量,方便獲取。
Calendar為抽象類,由于語言敏感性,Calendar類在創(chuàng)建對(duì)象時(shí)并非直接創(chuàng)建,而是通過靜態(tài)方法創(chuàng)建,將語言敏感內(nèi)容處理好,再返回子類對(duì)象
??Calendar類靜態(tài)方法
?
1 Calendar c =Calendar.getInstance(); 2 System.out.println(c); 返回當(dāng)前日歷Calenar常用方法
?YEAR?年
?MONTH 月,從0開始算起,最大11;0代表1月,11代表12月。
?DATE 天
?HOUR 時(shí)
?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); //可以一個(gè)一個(gè)屬性的改,也可以一次改好多個(gè)屬性 3 c.set(2020, 7, 7, 7, 7, 7); 4 System.out.println(c.get(Calendar.YEAR)); 1 Calendar c =Calendar.getInstance(); 將日歷對(duì)象轉(zhuǎn)成日期對(duì)象 2 System.out.println(c.getTime());1.1?注意事項(xiàng)
西方星期的開始為周日,中國為周一。
在Calendar類中,月份的表示是以0-11代表1-12月。
日期是有大小關(guān)系的,時(shí)間靠后,時(shí)間越大。
?小練習(xí)
?求出自己已經(jīng)出生多少天
1 long a=System.currentTimeMillis(); //獲取當(dāng)前的毫秒數(shù) 2 Calendar ca =Calendar.getInstance(); //獲取當(dāng)前的日歷,然后改成出生日期 3 ca.set(1996, 8,20); 4 Date b =ca.getTime(); //將這個(gè)日歷轉(zhuǎn)成日期格式,再轉(zhuǎn)成毫秒數(shù) 5 long c =b.getTime(); 6 long d =(a-c)/24/60/60/1000; //毫秒數(shù)相減,當(dāng)前的毫秒數(shù)前去出生的 7 System.out.println(d);*/?
?
?
?
?
?
?
?
轉(zhuǎn)載于:https://www.cnblogs.com/wangrongchen/p/9090962.html
總結(jié)
以上是生活随笔為你收集整理的java Dated Dateformat Calendar的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JavaScript 之 高级程序设计
- 下一篇: 第22件事 产品规划和运营规划