Java8 LocalDateTime極簡(jiǎn)時(shí)間日期操作小結(jié)
簡(jiǎn)述
時(shí)間日期處理是平時(shí)工作中使用非常頻繁的邏輯,Java8中提供的新的時(shí)間類(lèi)LocalDateTime
和LocalDate
,使日期處理可以更簡(jiǎn)單。
友情提醒下,業(yè)務(wù)開(kāi)發(fā)中最好默認(rèn)使用LocalDateTime,因?yàn)長(zhǎng)ocalDateTime可以很方便的轉(zhuǎn)換為L(zhǎng)ocalDate,但是LocalDate
是不可以轉(zhuǎn)為L(zhǎng)ocalDateTime的,會(huì)沒(méi)有時(shí)分秒的數(shù)據(jù)?。?!
本篇文章整理了常用的日期處理獲取方式,并做簡(jiǎn)要說(shuō)明。
能寫(xiě)一行的,就不寫(xiě)兩行!文章會(huì)持續(xù)更新。
實(shí)例
1.獲取當(dāng)前年月日的字符串
String ymd = LocalDate.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd")); DateTimeFormatter.ofPattern("yyyy-MM-dd"),修改獲取的日期格式
2.在當(dāng)前日期上加減N天,N月,N年
獲取去年的日期,就是年份減1
LocalDate date = LocalDateTime.now().minusYears(1).toLocalDate();
獲取一年后的日期,就是年份加1
LocalDate date = LocalDateTime.now().plusYears(1).toLocalDate();
加的函數(shù)都是plus前綴的
同理,還有minus天,周,月的函數(shù),很方便
3.獲取上周的某天
獲取上周周一
LocalDate monday = LocalDate.now().minusWeeks(1).with(DayOfWeek.MONDAY);
DayOfWeek
是java.time中的星期的枚舉,可通過(guò)枚舉值獲取一周中的任一天
返回的仍是LocalDate
對(duì)象,方便進(jìn)一步處理
4.當(dāng)前時(shí)間是星期幾,這個(gè)月幾號(hào),今年的第幾天
LocalDateTime dateTime = LocalDateTime.now(); System.out.println(dateTime.getDayOfWeek()); System.out.println(dateTime.getDayOfMonth()); System.out.println(dateTime.getDayOfYear());
5.獲取兩個(gè)日期中間的所有年份
public static List<Integer> getYearsBetweenTwoVar(LocalDate s, LocalDate e) { LocalDate tmp = s.plusYears(1); List<Integer> yearList = new ArrayList<>(); while (tmp.isBefore(e)) { yearList.add(tmp.getYear()); tmp = tmp.plusYears(1); } return yearList; }
補(bǔ)充:java8 LocalDateTime 格式化
LocalDateTime格式化
LocalDateTime time=LocalDateTime.now();
System.out.println(time);
DateTimeFormatter dtf2 = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
String strDate2 = dtf2.format(time);
System.out.println(strDate2);
LocalDate轉(zhuǎn)String ,String轉(zhuǎn)LocalDate
LocalDate data=LocalDate.now();
System.out.print(data);
DateTimeFormatter dtf3 = DateTimeFormatter.ofPattern("yyyy-MM-dd");
String strDate3 = dtf3.format(data);
System.out.println(strDate3);
strDate3=strDate3+" 04:00:00";
LocalDateTime time1=LocalDateTime.parse(strDate3,dtf2);
System.out.print(time1);
System.out.print(time.isAfter(time1));
總結(jié)
到此這篇關(guān)于Java8 LocalDateTime極簡(jiǎn)時(shí)間日期操作整理的文章就介紹到這了,更多相關(guān)Java8 LocalDateTime 時(shí)間日期內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Spring項(xiàng)目中使用Junit單元測(cè)試并配置數(shù)據(jù)源的操作
這篇文章主要介紹了Spring項(xiàng)目中使用Junit單元測(cè)試并配置數(shù)據(jù)源的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-09-09淺談Java開(kāi)發(fā)中的安全編碼問(wèn)題
這篇文章主要介紹了淺談Java開(kāi)發(fā)中的安全編碼問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-10-10Java?Collection接口中的常用方法總結(jié)
這篇文章將大概用代碼案例簡(jiǎn)單總結(jié)一下?Collection?接口中的一些方法,我們會(huì)以他的實(shí)現(xiàn)類(lèi)?Arraylist?為例創(chuàng)建對(duì)象。快一起來(lái)看看吧2022-12-12JDBC中使用Java8的日期LocalDate和LocalDateTime操作mysql、postgresql
這篇文章主要給大家介紹了關(guān)于JDBC中如何使用Java8的日期LocalDate和LocalDateTime的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。2017-09-09SpringBoot+Vue項(xiàng)目部署上線的實(shí)現(xiàn)示例
本文主要介紹了SpringBoot+Vue項(xiàng)目部署上線的實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2024-02-02