java中的日期和時間比較大小
日期和時間比較大小
java中日期如何比較大小
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd"); //設(shè)置日期格式 Date begin = fmt.parse("2017-07-30"); //開始日期 Date end = fmt.parse("2017-08-30"); //結(jié)束日期 try { Date bt=df.parse(begin ); Date et=df.parse(end ); if (bt.before(et)){ bt日期小于et日期 } if (bt.after(et)){ bt日期大于et日期 } } catch (ParseException e) { e.printStackTrace(); }
java中時間如何比較大小
public static void main(String[] args) throws ParseException { String time = "2019-6-02 11:06:51"; String time1 = "2019-6-02 11:05:51"; SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date d1 = format.parse(time); Date d2 = format.parse(time1); //前者大于后者 返回大于0的數(shù)字反之小于0的數(shù)字,等于返回0 System.out.println(d1.compareTo(d2)); }
比較兩個日期時間,比較兩個日期大小
我們經(jīng)常會遇到一個問題,需要比較兩個時間的大小,或者需要判斷一個時間在另一個時間之前,或者一個時間在另一個時間之后,比較日期時間的大小,還要精確到秒,這個時候經(jīng)常會有一些人卡住。
這個時候我們來講解一下java8的新日期時間類。
LocalDateTime
可以很好的解決日期比較大小的問題,而且是線程安全的,精確到秒
不說廢話直接上代碼
看不懂的可以直接復(fù)制使用 只需要傳2個需要比較的日期時間即可
但是必須需要jdk8版本 因?yàn)檫@個是java8的日期時間處理類
public boolean verifyDate(Date begin,Date end){ ZoneId zoneId = ZoneId.systemDefault(); LocalDateTime beginDate = LocalDateTime.ofInstant(begin.toInstant(), zoneId); LocalDateTime endDate = LocalDateTime.ofInstant(end.toInstant(), zoneId); return beginDate.isBefore(endDate); }
比較begin的時間是否在end之前 看不懂的可以直接復(fù)制上面代碼 使用 精確到秒
- begin < end 返回true
- begin > end 返回false
- begin = end 返回false
主要是使用LocalDateTime有一種比較的方法
isBefore(LocalDateTime )
:可判斷當(dāng)前的localdatetime時間在參數(shù)的localdatetime之后isAfter(LocalDateTime)
:可判斷當(dāng)前的localdatetime時間在參數(shù)的localdatetime之前
如:
isBefore()
a.isBefore(b)
- a < b 返回true
- a = b 返回false
- a > b 返回false
isAfter()
a.isAfter(b)
- a < b 返回false
- a = b 返回false
- a > b 返回true
DateTimeFormatter
DateTimeFormatter這個相當(dāng)于simpledateformatter的日期安全類
他提供了更強(qiáng)大的api
以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
JDBC用IDEA連接SQLServer數(shù)據(jù)庫的超實(shí)用教程
JDBC是Java連接數(shù)據(jù)庫的一種接口,它由各個數(shù)據(jù)庫廠商為開發(fā)者提供的接口,要使用它需要到相應(yīng)廠商下載對應(yīng)的jar包,下面這篇文章主要給大家介紹了關(guān)于JDBC用IDEA連接SQLServer數(shù)據(jù)庫的超實(shí)用教程,需要的朋友可以參考下2023-05-05關(guān)于@Autowired注入依賴失敗的問題及解決
這篇文章主要介紹了關(guān)于@Autowired注入依賴失敗的問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-08-08Java日常練習(xí)題,每天進(jìn)步一點(diǎn)點(diǎn)(62)
下面小編就為大家?guī)硪黄狫ava基礎(chǔ)的幾道練習(xí)題(分享)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧,希望可以幫到你2021-08-08SpringAop切入點(diǎn)execution表達(dá)式的深入講解
Spring AOP 可能會經(jīng)常使用 execution切入點(diǎn)指示符,下面這篇文章主要給大家介紹了關(guān)于SpringAop切入點(diǎn)execution表達(dá)式的相關(guān)資料,需要的朋友可以參考下2021-08-08Windows10系統(tǒng)下JDK1.8的下載安裝及環(huán)境變量配置的教程
這篇文章主要介紹了Windows10系統(tǒng)下JDK1.8的下載安裝及環(huán)境變量配置的教程,本文圖文并茂給大家介紹的非常詳細(xì),對大家的工作或?qū)W習(xí)具有一定的參考借鑒價值,需要的朋友可以參考下2020-03-03SpringBoot多數(shù)據(jù)源的兩種實(shí)現(xiàn)方式實(shí)例
最近在項(xiàng)目開發(fā)中,需要為一個使用MySQL數(shù)據(jù)庫的SpringBoot項(xiàng)目,新添加一個PLSQL數(shù)據(jù)庫數(shù)據(jù)源,下面這篇文章主要給大家介紹了關(guān)于SpringBoot多數(shù)據(jù)源的兩種實(shí)現(xiàn)方式,需要的朋友可以參考下2022-04-04