Java中Date日期類的使用方法示例詳解
一、構(gòu)造器實(shí)例化對(duì)象
//使用無(wú)參構(gòu)造器 Date date1 = new Date(); System.out.println(date1); //使用有參構(gòu)造器,參數(shù)為long類型的時(shí)間戳,將時(shí)間戳自動(dòng)轉(zhuǎn)為時(shí)間對(duì)象 Date date2 = new Date(60000); System.out.println(date2);
運(yùn)行結(jié)果:
說(shuō)明:
- Date 類的無(wú)參數(shù)構(gòu)造方法獲取的是系統(tǒng)當(dāng)前的時(shí)間,顯示的順序?yàn)樾瞧凇⒃?、日、小時(shí)、分、秒、年。
- Date 類帶 long 類型參數(shù)的構(gòu)造方法獲取的是距離 GMT 指定毫秒數(shù)的時(shí)間, 60000 毫秒是一分鐘,而 GMT(格林尼治標(biāo)準(zhǔn)時(shí)間)與 CST (中央標(biāo)準(zhǔn)時(shí)間)相差 8 小時(shí),也就是說(shuō) 1970 年 1 月 1 日 00:00:00 GMT 與 1970 年 1 月 1 日 08:00:00 CST 表示的是同一時(shí)間。 因此距離 1970 年 1 月 1 日 00:00:00 CST 一 分鐘的時(shí)間為 1970 年 1 月 1 日 00:01:00 CST ,即使用 Date 對(duì)象表示為 Thu Jan 01 08:01:00 CST 1970 。
二、構(gòu)造Date對(duì)象并指定日期
1. 構(gòu)造函數(shù)時(shí)設(shè)置時(shí)間參數(shù)
日期參數(shù)形式
在實(shí)例化Date對(duì)象時(shí)直接告訴Date對(duì)象特定的時(shí)間,也就是讓Date對(duì)象指向自己設(shè)定的時(shí)間而非系統(tǒng)當(dāng)前時(shí)間。
- 直接寫入年份和月份是得不到想要的結(jié)果的。因?yàn)閖ava中Date是從1900年開始算的,所以第一個(gè)參數(shù)要填入你想要的年份后要減去1900,月需要減1,日可以直接插入。時(shí)分秒也可以直接插入。
- 如果想要添加的時(shí)間需要精確到年月日時(shí)分秒,按順序依次按規(guī)則輸入即可。如果只需精確到年月日時(shí)分秒三個(gè)參數(shù)可以不填,系統(tǒng)默認(rèn)時(shí)分秒為00:00:00。
//使用有參構(gòu)造器實(shí)例化對(duì)象 Date date4 = new Date(2023 - 1900, 6 - 1, 5, 6, 2, 4); Date date5 = new Date(2023-1900, 6 - 1, 5); System.out.println(date4); System.out.println(date5);
運(yùn)行結(jié)果展示:
字符串參數(shù)形式
使用特定的字符串格式進(jìn)行實(shí)例化并指定時(shí)間,使用此方法時(shí)必須按照"年/月/日 時(shí):分:秒"此種順序和格式,例如:
Date date1= new Date("2023/6/16 11:40:00"); System.out.println(date1);
運(yùn)行結(jié)果展示:
2. 使用格式化工具進(jìn)行時(shí)間Date時(shí)間設(shè)置
Date date1= new Date(); Date date2= new Date(); //聲名兩個(gè)格式化工具,并且設(shè)置格式化字符串格式 SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy年MM月dd日 HH時(shí)mm分ss秒"); SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); //因?yàn)樵诟袷交瘯r(shí),如果不按照指定格式進(jìn)行輸入無(wú)法進(jìn)行格式化會(huì)出現(xiàn)異常,所以用try-catch處理異常 try { date1 = sdf1.parse("2023年06月16日 19:17:00"); date2 = sdf2.parse("2023-06-16 19:17:00"); }catch (Exception ignored){} System.out.println(date1); System.out.println(date2);
運(yùn)行結(jié)果:
三、將日期格式化為中文狀態(tài)輸出
以上輸出均為英文狀態(tài)下的,當(dāng)然我們可以是用日期格式話使輸出為中文狀態(tài),例:
Date date = new Date(); //格式化輸出 System.out.printf("%tF %<tT",date);
輸出結(jié)果:
四、Date日期類方法
到此這篇關(guān)于Java中Date日期類的使用方法的文章就介紹到這了,更多相關(guān)Java Date日期類內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
深度源碼解析Java 線程池的實(shí)現(xiàn)原理
如何高效的使用這些資源就是程序員在平時(shí)寫代碼時(shí)候的一個(gè)努力的方向。本文要說(shuō)的線程池就是一種對(duì) CPU 利用的優(yōu)化手段。對(duì)Java 線程池的實(shí)現(xiàn)原理相關(guān)知識(shí)感興趣的朋友一起看看吧2021-05-05Mybatis實(shí)現(xiàn)SQL映射的兩種方法(xml文件形式和注解形式)
這篇文章主要介紹了Mybatis實(shí)現(xiàn)SQL映射的兩種方法(xml文件形式和注解形式),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-07-07SpringBoot實(shí)現(xiàn)Excel文件批量上傳導(dǎo)入數(shù)據(jù)庫(kù)
這篇文章主要為大家詳細(xì)介紹了SpringBoot實(shí)現(xiàn)Excel文件批量上傳導(dǎo)入數(shù)據(jù)庫(kù),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-11-11RabbitMQ實(shí)現(xiàn)延時(shí)消息的兩種方法實(shí)戰(zhàn)教程
這篇文章主要介紹了RabbitMQ實(shí)現(xiàn)延時(shí)消息的兩種方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-09-09解讀SpringBoot接收List<Bean>參數(shù)問題(POST請(qǐng)求方式)
這篇文章主要介紹了解讀SpringBoot接收List<Bean>參數(shù)問題(POST請(qǐng)求方式),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-09-09PowerJob的QueryConvertUtils工作流程源碼解讀
這篇文章主要為大家介紹了PowerJob的QueryConvertUtils工作流程源碼解讀,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2024-01-01