Java中的常用時(shí)間日期類總結(jié)(Date、DateFormat)
1. Date類
1.1 概述
計(jì)算機(jī)中時(shí)間原點(diǎn):1970年1月1日00:00:00
時(shí)間換算單位:1秒 = 1000毫秒
Date代表了一個(gè)特定的時(shí)間,精確到毫秒
1.2 方法
構(gòu)造方法:
演示代碼:
//public Date() Date d1 = new Date(); //pubic Date(long date) long date = 1000*60*60 Date d2 = new Date(date);
常用方法:
演示代碼:
//public long getTime() Date d = new Date(); d.getTime(); //public void setTime(long time) long time = System.currentTimeMillis(); d.setTime(time);
1.3 SimpleDateFormat類
概述:SimpleDateFormat是一個(gè)具體的類,用于以區(qū)域設(shè)置敏感的方式格式化和解析日期。
構(gòu)造方法:
常用方法:
格式化(從Date到String)
public final String format(Date date)//將日期格式化為時(shí)間字符串。
解析(從String到Date)
public Date parse(String source)//從給定的字符串開始解析文本為日期
2. LocaDateTime類
2.1 分類
LocaDate 表示日期(年月日)
LocalTime 表示時(shí)間(時(shí)分秒)
LOvalDateTime 表示時(shí)間+日期(年月日時(shí)分秒)
2.2 LocalDateTime創(chuàng)建方法
方法:
演示代碼:
//public static LocalDateTime now(); LocalDateTime now = LocalDateTime.now(); //public static LocalDateTime of(年,月,日,時(shí),分,秒) LocalDateTime localDateTime = LocalDateTime.of(2000,11,11,,11,11,11);
2.3 LocalDateTime獲取方法
方法說明:
2.4 LocalDateTime轉(zhuǎn)換方法
方法說明:
2.5 LocalDateTime格式化和解析
方法說明:
演示代碼:
//public String format(指定格式) LocalDateTime localDateTime = LocalDateTimme.of(2020,12,12) //public static DateTimeFormatter ofPattern(String pattern) DateTimeFormatter pattern = DateTimeFormatter.ofPattern("yyyy-MM-dd"); String s = localDateTime.format(pattern); //public LocalDateTime parse(解析字符串,解析格式) String s = "2020年12月12日"; DateTimeFormatter pattern = DateTimeFormatter.ofPattern("yyyy-MM-dd"); LocalDateTime parse = LocalDateTime.parse(s,pattern);
2.6 LocalDateTime增加或減少時(shí)間方法
方法說明:
2.7 LocalDateTime減少或增加時(shí)間方法
方法說明:
2.8 LocalDateTime修改方法
說明方法:
3. Period和Duration
Period方法說明:
演示代碼:
//public static Period between(開始時(shí)間,結(jié)束時(shí)間) 計(jì)算兩個(gè)"時(shí)間"的間隔 LocalDate localDate1 = LocalDate.of(2020, 1, 1); LocalDate localDate2 = LocalDate.of(2048, 12, 12); Period period = Period.between(localDate1, localDate2); System.out.println(period);//P28Y11M11D //public int getYears() 獲得這段時(shí)間的年數(shù) System.out.println(period.getYears());//28 //public int getMonths() 獲得此期間的月數(shù) System.out.println(period.getMonths());//11 //public int getDays() 獲得此期間的天數(shù) System.out.println(period.getDays());//11 //public long toTotalMonths() 獲取此期間的總月數(shù) System.out.println(period.toTotalMonths());//347
Duration方法說明:
演示說明:
//public static Duration between(開始時(shí)間,結(jié)束時(shí)間) 計(jì)算兩個(gè)“時(shí)間"的間隔 LocalDateTime localDateTime1 = LocalDateTime.of(2020, 1, 1, 13, 14, 15); LocalDateTime localDateTime2 = LocalDateTime.of(2020, 1, 2, 11, 12, 13); Duration duration = Duration.between(localDateTime1, localDateTime2); System.out.println(duration);//PT21H57M58S //public long toSeconds() 獲得此時(shí)間間隔的秒 System.out.println(duration.toSeconds());//79078 //public int toMillis() 獲得此時(shí)間間隔的毫秒 System.out.println(duration.toMillis());//79078000 //public int toNanos() 獲得此時(shí)間間隔的納秒 System.out.println(duration.toNanos());//79078000000000
4. 總結(jié)
LocalDate 和 Date 的區(qū)別:
java.util.Date是Java舊版的日期和時(shí)間類,而java.time.LocalDate是Java 8中引入的新日期API的一部分。
java.util.Date是可變的,并且不是線程安全的,而java.time.LocalDate是不可變的和線程安全的。
java.util.Date表示一個(gè)時(shí)間戳,同時(shí)包含日期和時(shí)間信息,而java.time.LocalDate僅表示日期信息,不包含時(shí)間。
java.util.Date中的方法大多已被廢棄,而java.time.LocalDate提供了一組新的方法來操作日期,更符合現(xiàn)代編程習(xí)慣。
到此這篇關(guān)于Java中常用時(shí)間日期類(Date、DateFormat)的文章就介紹到這了,更多相關(guān)Java時(shí)間日期類內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java?HashMap詳解及實(shí)現(xiàn)原理
Java?HashMap是Java集合框架中最常用的實(shí)現(xiàn)Map接口的數(shù)據(jù)結(jié)構(gòu),它使用哈希表實(shí)現(xiàn),允許null作為鍵和值,可以存儲不同類型的鍵值對,在Java中,HashMap被廣泛應(yīng)用于各種場景,如緩存、數(shù)據(jù)庫連接池、路由器等,文中有詳細(xì)的代碼示例,需要的朋友可以參考下2023-05-05MybatisPlus中插入數(shù)據(jù)后獲取該對象主鍵值的實(shí)現(xiàn)
這篇文章主要介紹了MybatisPlus中插入數(shù)據(jù)后獲取該對象主鍵值,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-09-09IDEA2020.3.2版本自動注釋類和方法注釋模板配置步驟詳解
這篇文章主要介紹了IDEA2020.3.2版本自動注釋類和方法注釋模板配置步驟,本文給大家分享了我自己創(chuàng)建過程通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-03-03Mybatis千萬級數(shù)據(jù)查詢的解決方式,避免OOM問題
這篇文章主要介紹了Mybatis千萬級數(shù)據(jù)查詢的解決方式,避免OOM問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-01-01Springboot?配置SqlSessionFactory方式
這篇文章主要介紹了Springboot?配置SqlSessionFactory方式,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-12-12Java實(shí)現(xiàn)ArrayList排序的方法詳解
Java中常見的ArrayList排序方法主要為三種:JDK8的stream、Comparator#compare()和Comparable#compareTo(),本文將詳解這三者的使用,需要的可以參考一下2022-05-05