Java8 LocalDateTime極簡時間日期操作小結(jié)
簡述
時間日期處理是平時工作中使用非常頻繁的邏輯,Java8中提供的新的時間類LocalDateTime
和LocalDate
,使日期處理可以更簡單。
友情提醒下,業(yè)務(wù)開發(fā)中最好默認(rèn)使用LocalDateTime,因為LocalDateTime可以很方便的轉(zhuǎn)換為LocalDate,但是LocalDate
是不可以轉(zhuǎn)為LocalDateTime的,會沒有時分秒的數(shù)據(jù)?。。?/p>
本篇文章整理了常用的日期處理獲取方式,并做簡要說明。
能寫一行的,就不寫兩行!文章會持續(xù)更新。
實例
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中的星期的枚舉,可通過枚舉值獲取一周中的任一天
返回的仍是LocalDate
對象,方便進(jìn)一步處理
4.當(dāng)前時間是星期幾,這個月幾號,今年的第幾天
LocalDateTime dateTime = LocalDateTime.now(); System.out.println(dateTime.getDayOfWeek()); System.out.println(dateTime.getDayOfMonth()); System.out.println(dateTime.getDayOfYear());
5.獲取兩個日期中間的所有年份
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; }
補充: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極簡時間日期操作整理的文章就介紹到這了,更多相關(guān)Java8 LocalDateTime 時間日期內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Spring項目中使用Junit單元測試并配置數(shù)據(jù)源的操作
這篇文章主要介紹了Spring項目中使用Junit單元測試并配置數(shù)據(jù)源的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-09-09Java?Collection接口中的常用方法總結(jié)
這篇文章將大概用代碼案例簡單總結(jié)一下?Collection?接口中的一些方法,我們會以他的實現(xiàn)類?Arraylist?為例創(chuàng)建對象??煲黄饋砜纯窗?/div> 2022-12-12JDBC中使用Java8的日期LocalDate和LocalDateTime操作mysql、postgresql
這篇文章主要給大家介紹了關(guān)于JDBC中如何使用Java8的日期LocalDate和LocalDateTime的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。2017-09-09SpringBoot+Vue項目部署上線的實現(xiàn)示例
本文主要介紹了SpringBoot+Vue項目部署上線的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-02-02最新評論