JAVA中的日期時(shí)間類(lèi)用法總結(jié)
前言
好記性不如爛筆頭,日期時(shí)間類(lèi)那么花哨不如記下來(lái)多看兩眼。
提示:以下是本篇文章正文內(nèi)容,下面案例可供參考
一.日期時(shí)間類(lèi)的包
代碼如下(示例):
java.util.Date; java.time.format.DateTimeFormatter; java.util.Calendar java.text.SimpleDateFormat; import java.time.LocalDate; import java.time.LocalDateTime; import java.time.LocalTime;
二.Data類(lèi)
java.util.Date;
Date類(lèi)是我們之前常用的一個(gè)日期和時(shí)間的對(duì)象,此類(lèi)在 java.util 包中,并不是java.sql中的Date
代碼如下(示例):
public static void main(String[] args) { Date a=new Date(); System.out.println(a);//當(dāng)前時(shí)間 Date b=new Date(System.currentTimeMillis());//當(dāng)前時(shí)間 System.out.println(b);//Wed Aug 26 08:26:32 CST 2020 //常用方法: //年 必須加上1900 System.out.println(a.getYear()+1900); //月 0~11 必須加1 System.out.println(a.getMonth()+1); //日 1-31 不用加 System.out.println(a.getDate()); //轉(zhuǎn)換成String System.out.println(a.toString()); //Wed Aug 26 08:26:32 CST 2020 //轉(zhuǎn)換為GNT時(shí)區(qū) System.out.println(a.toGMTString()); //轉(zhuǎn)換為本地時(shí)區(qū) System.out.println(a.toLocaleString()); }
三.SimpleDateFormat類(lèi)
java.text.SimpleDateFormat
格式化輸出日期,此類(lèi)提供了一些預(yù)定義字符串或者稱(chēng)之為占位符:
yyyy:年
MM:月
dd: 日
HH: 小時(shí)
mm: 分鐘
ss: 秒
格式化時(shí)間:
public static void main(String[] args) { Date aa=new Date(); SimpleDateFormat aa1=new SimpleDateFormat("yyyy年MM月dd日HH:mm:ss"); String str=aa1.format(aa); System.out.println(str); f(); } public static void f() { Date a=new Date(); DateTimeFormatter w=DateTimeFormatter.ofPattern("yyyy-MM-dd-HH:mm:ss"); String t=w.format(LocalDateTime.now()); System.out.println(t); }
四. Calendar類(lèi) -日歷類(lèi)
java.util.Calendar
日歷類(lèi)Calendar更多的是代表年 月 日 周 星期 上午 下午 夏時(shí)令等這樣內(nèi)容,Date用于記錄某一個(gè)含日期的、精確到毫秒的時(shí)間。重點(diǎn)在代表一剎那的時(shí)間本身;
常用方法:
Calendar.YEAR:年
Calendar.MONTH:月 需要加1
Calendar.DAY_OF_MONTH:日
Calendar.HOUR:時(shí)
Calendar.MINUTE:分
Calendar.SECOND:秒
代碼演示:
public static void main(String[] args) { Calendar a=Calendar.getInstance(); Date b=a.getTime(); System.out.println(b); //當(dāng)前時(shí)間,這樣的格式Wed Aug 26 08:44:06 CST 2020 //年 int year=a.get(Calendar.YEAR); //月 int mon =a.get(Calendar.MONTH)+1; //日 int day=a.get(Calendar.DATE); //日 int d=a.get(Calendar.DAY_OF_MONTH); System.out.println(year+"-"+mon+"-"+day);//2020-8-26 System.out.println(year+"年"+mon+"月"+d+"日");//2020年8月26日 //從今年初到現(xiàn)在過(guò)去了多少天: int t=a.get(Calendar.DAY_OF_YEAR); System.out.println(t);//從2020年到現(xiàn)在過(guò)去了239天 //當(dāng)前小時(shí)數(shù) int shi=a.get(Calendar.HOUR); System.out.println(shi+"時(shí)");//當(dāng)前是幾點(diǎn) //當(dāng)前分鐘數(shù) int fen=a.get(Calendar.MINUTE); System.out.println(fen+"分");//當(dāng)前分鐘數(shù); //當(dāng)前秒數(shù) int miao =a.get(Calendar.SECOND); System.out.println(miao+"秒"); System.out.println(year+"年"+mon+"月"+day+"日"+shi+"時(shí)"+fen+"分"+miao+"秒");//2020年8月26日8時(shí)46分25秒 //格式化輸出 Date aa=new Date(); SimpleDateFormat aa1=new SimpleDateFormat("yyyy年MM月dd日HH時(shí)mm分ss秒"); System.out.println(aa1.format(aa)); f2();//從當(dāng)前時(shí)間計(jì)算n天后的日期 f3();//比較日期的先后,返回布爾值 } public static void f2() { Calendar c3 = Calendar.getInstance(); c3.add(Calendar.DATE,+10); int year = c3.get(Calendar.YEAR); int month = c3.get(Calendar.MONTH)+1; int date = c3.get(Calendar.DATE); System.out.println(year+"年"+month+"月"+date+"日");//十天后是九月五日 } public static void f3() { Calendar c1=Calendar.getInstance(); c1.set(2020,4,12); Calendar c2=Calendar.getInstance(); c2.set(2020,6,10); boolean b=c2.after(c1);//前面的與括號(hào)內(nèi)相比較,在前還是在后(返回的是布爾值,true或者false) System.out.println(b); }
程序結(jié)果:
五.新增時(shí)間類(lèi)
本地日期類(lèi):
LoclDate類(lèi) - 本地日期類(lèi) LocalDate a=LocalDate.now();
本地時(shí)間類(lèi):
LocalTime類(lèi) - 本地時(shí)間類(lèi) LocalTime time=LocalTime.now();
本地日期時(shí)間類(lèi):
LocalDateTime類(lèi) - 本地日期時(shí)間類(lèi); LocalDateTime b=LocalDateTime.now();
常用方法:
代碼演示:
public static void main(String[] args) { f1(); f2(); f3(); f4(); f5(); } public static void f1() { LocalDate a=LocalDate.now();//當(dāng)前日期 LocalTime time=LocalTime.now();//當(dāng)前時(shí)間 LocalDateTime b=LocalDateTime.now();//當(dāng)前年月日時(shí)分秒 System.out.println(a); System.out.println(time); System.out.println(b); } public static void f2() { //更規(guī)范操作 LocalDateTime a=LocalDateTime.now();//當(dāng)前年月日時(shí)分秒 LocalDate a1=a.toLocalDate();//當(dāng)前日期 LocalTime a2=a.toLocalTime();//當(dāng)前時(shí)間 System.out.println(a); System.out.println(a1); System.out.println(a2); } public static void f3() { LocalDateTime a=LocalDateTime.now(); System.out.println(a.getYear());//輸出年 System.out.println(a.getMonth());//月(英文) System.out.println(a.getMonthValue());//月(中文) System.out.println(a.getDayOfMonth());//日 System.out.println(a.getDayOfYear());//今年第一天到現(xiàn)在有多少天; System.out.println(a.getDayOfWeek());//星期 System.out.println(a.getHour());//時(shí) System.out.println(a.getMinute());//分鐘 System.out.println(a.getSecond());//秒 } public static void f4() { //給定時(shí)間并輸出 LocalDate a=LocalDate.of(2020,8, 26); LocalTime b=LocalTime.of(9, 10, 03); LocalDateTime c=LocalDateTime.of(a, b); LocalDateTime d=LocalDateTime.of(2020, 8, 26, 9, 10, 03); System.out.println(a); System.out.println(b); System.out.println(c); System.out.println(d); } public static void f5() { //按照指定的格式進(jìn)行日期時(shí)間的輸出 Date a=new Date(); DateTimeFormatter w=DateTimeFormatter.ofPattern("yyyy年MM月dd日HH時(shí)mm分ss秒"); String t=w.format(LocalDateTime.now()); System.out.println(t);//當(dāng)前時(shí)間 }
總結(jié)
以上就是日期時(shí)間類(lèi)的內(nèi)容,分別是:
- Date類(lèi)、
- Calendar類(lèi)
- SimpleDateFormat類(lèi)
- LoclDate類(lèi) - 本地日期類(lèi)
- LocalTime類(lèi) - 本地時(shí)間類(lèi)
- LocalDateTime類(lèi) - 本地日期時(shí)間類(lèi);
到此這篇關(guān)于JAVA中的日期時(shí)間類(lèi)用法的文章就介紹到這了,更多相關(guān)JAVA日期時(shí)間類(lèi)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java 中String StringBuilder 與 StringBuffer詳解及用法實(shí)例
這篇文章主要介紹了Java 中String StringBuilder 與 StringBuffer詳解及用法實(shí)例的相關(guān)資料,需要的朋友可以參考下2017-02-02詳解Java實(shí)現(xiàn)的k-means聚類(lèi)算法
這篇文章主要介紹了詳解Java實(shí)現(xiàn)的k-means聚類(lèi)算法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-01-01Java 添加、修改、讀取、復(fù)制、刪除Excel批注的實(shí)現(xiàn)
這篇文章主要介紹了Java 添加、修改、讀取、復(fù)制、刪除Excel批注的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-02-02MyBatis后端對(duì)數(shù)據(jù)庫(kù)進(jìn)行增刪改查等操作實(shí)例
Mybatis是appach下開(kāi)源的一款持久層框架,通過(guò)xml與java文件的緊密配合,避免了JDBC所帶來(lái)的一系列問(wèn)題,下面這篇文章主要給大家介紹了關(guān)于MyBatis后端對(duì)數(shù)據(jù)庫(kù)進(jìn)行增刪改查等操作的相關(guān)資料,需要的朋友可以參考下2022-08-08Java實(shí)現(xiàn)的猴子吃桃問(wèn)題算法示例
這篇文章主要介紹了Java實(shí)現(xiàn)的猴子吃桃問(wèn)題算法,簡(jiǎn)單描述了猴子吃桃問(wèn)題并結(jié)合實(shí)例形式給出了java解決猴子吃桃問(wèn)題的具體實(shí)現(xiàn)技巧,需要的朋友可以參考下2017-10-10