最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

詳解在java中進(jìn)行日期時(shí)間比較的4種方法

 更新時(shí)間:2020年07月26日 08:36:17   作者:字母哥博客  
這篇文章主要介紹了詳解在java中進(jìn)行日期時(shí)間比較的4種方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

1. Date.compareTo()

java.util.Date提供了在Java中比較兩個(gè)日期的經(jīng)典方法compareTo()。

  • 如果兩個(gè)日期相等,則返回值為0。
  • 如果Date在date參數(shù)之后,則返回值大于0。
  • 如果Date在date參數(shù)之前,則返回值小于0。
@Test
void testDateCompare() throws ParseException {
 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
 Date date1 = sdf.parse("2009-12-31");
 Date date2 = sdf.parse("2019-01-31");

 System.out.println("date1 : " + sdf.format(date1));
 System.out.println("date2 : " + sdf.format(date2));

 if (date1.compareTo(date2) > 0) {
  System.out.println("Date1 時(shí)間在 Date2 之后");
 } else if (date1.compareTo(date2) < 0) {
  System.out.println("Date1 時(shí)間在 Date2 之前");
 } else if (date1.compareTo(date2) == 0) {
  System.out.println("Date1 時(shí)間與 Date2 相等");
 } else {
  System.out.println("程序怎么會(huì)運(yùn)行到這里?正常應(yīng)該不會(huì)");
 }
}

輸出結(jié)果:

date1 : 2009-12-31
date2 : 2019-01-31
Date1 時(shí)間在 Date2 之前

2. Date.before(),Date.after()和Date.equals()

一種語(yǔ)義上比較友好的方法來(lái)比較兩個(gè)java.util.Date

@Test
void testDateCompare2() throws ParseException {
 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
 Date date1 = sdf.parse("2009-12-31");
 Date date2 = sdf.parse("2019-01-31");

 System.out.println("date1 : " + sdf.format(date1));
 System.out.println("date2 : " + sdf.format(date2));

 if (date1.after(date2)) {
  System.out.println("Date1 時(shí)間在 Date2 之后");
 }

 if (date1.before(date2)) {
  System.out.println("Date1 時(shí)間在 Date2 之前");
 }

 if (date1.equals(date2)) {
  System.out.println("Date1 時(shí)間與 Date2 相等");
 }
}

輸出結(jié)果

date1 : 2009-12-31
date2 : 2019-01-31
Date1 時(shí)間在 Date2 之前

3. Calender.before(),Calender.after()和Calender.equals()

使用java.util.Calendar比較兩個(gè)Date日期

@Test
void testDateCompare3() throws ParseException {
 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
 Date date1 = sdf.parse("2009-12-31");
 Date date2 = sdf.parse("2019-01-31");

 System.out.println("date1 : " + sdf.format(date1));
 System.out.println("date2 : " + sdf.format(date2));

 Calendar cal1 = Calendar.getInstance();
 Calendar cal2 = Calendar.getInstance();
 cal1.setTime(date1);
 cal2.setTime(date2);

 if (cal1.after(cal2)) {
  System.out.println("Date1 時(shí)間在 Date2 之后");
 }

 if (cal1.before(cal2)) {
  System.out.println("Date1 時(shí)間在 Date2 之前");
 }

 if (cal1.equals(cal2)) {
  System.out.println("Date1 時(shí)間與 Date2 相等");
 }
}

輸出結(jié)果:

date1 : 2009-12-31
date2 : 2019-01-31
Date1 時(shí)間在 Date2 之前

4. Java 8日期比較方法

在Java 8中,可以使用新的isBefore(),isAfter(),isEqual()和compareTo()來(lái)比較LocalDate,LocalTime和LocalDateTime。以下示例以比較兩個(gè)java.time.LocalDate

@Test
void testDateCompare4() throws ParseException {
 DateTimeFormatter sdf = DateTimeFormatter.ofPattern("yyyy-MM-dd");
 LocalDate date1 = LocalDate.of(2009, 12, 31);
 LocalDate date2 = LocalDate.of(2019, 1, 31);

 System.out.println("date1 : " + sdf.format(date1));
 System.out.println("date2 : " + sdf.format(date2));

 System.out.println("Is...");
 if (date1.isAfter(date2)) {
  System.out.println("Date1 時(shí)間在 Date2 之后");
 }

 if (date1.isBefore(date2)) {
  System.out.println("Date1 時(shí)間在 Date2 之前");
 }

 if (date1.isEqual(date2)) {
  System.out.println("Date1 時(shí)間與 Date2 相等");
 }
}

輸出結(jié)果

date1 : 2009-12-31
date2 : 2019-01-31
Is...
Date1 時(shí)間在 Date2 之前

到此這篇關(guān)于詳解在java中進(jìn)行日期時(shí)間比較的4種方法的文章就介紹到這了,更多相關(guān)java 日期時(shí)間比較內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家! 

相關(guān)文章

  • Java實(shí)現(xiàn)UDP互發(fā)消息

    Java實(shí)現(xiàn)UDP互發(fā)消息

    這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)UDP互發(fā)消息,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-07-07
  • SpringBoot下Mybatis的緩存的實(shí)現(xiàn)步驟

    SpringBoot下Mybatis的緩存的實(shí)現(xiàn)步驟

    這篇文章主要介紹了SpringBoot下Mybatis的緩存的實(shí)現(xiàn)步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • 解決idea每次打開(kāi)新的項(xiàng)目都需要重新配置maven問(wèn)題

    解決idea每次打開(kāi)新的項(xiàng)目都需要重新配置maven問(wèn)題

    這篇文章主要介紹了解決idea每次打開(kāi)新的項(xiàng)目都需要重新配置maven問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • MybatisPlus3.5.5與pagehelper?starter2.1.0沖突的問(wèn)題解決

    MybatisPlus3.5.5與pagehelper?starter2.1.0沖突的問(wèn)題解決

    在使用MybatisPlus?3.5.5與PageHelper?Starter?2.1.0時(shí),由于引用了不同版本的jsqlparser庫(kù)(4.6與4.7),會(huì)導(dǎo)致運(yùn)行時(shí)錯(cuò)誤,解決方案涉及確認(rèn)依賴(lài)版本,本文就來(lái)介紹一下,感興趣的同學(xué)可以下載學(xué)習(xí)
    2024-10-10
  • 淺談Java中SimpleDateFormat 多線程不安全原因

    淺談Java中SimpleDateFormat 多線程不安全原因

    SimpleDateFormat是Java中用于日期時(shí)間格式化的一個(gè)類(lèi),本文主要介紹了淺談Java中SimpleDateFormat 多線程不安全原因,感興趣的可以了解一下
    2024-01-01
  • 關(guān)于RedisTemplate常用方法封裝

    關(guān)于RedisTemplate常用方法封裝

    文章總結(jié)了RedisTemplate的常用方法封裝,包括序列化配置、基礎(chǔ)常量和接口實(shí)現(xiàn),這些內(nèi)容是個(gè)人經(jīng)驗(yàn)分享,旨在為讀者提供參考和支持
    2024-12-12
  • java清除html轉(zhuǎn)義字符

    java清除html轉(zhuǎn)義字符

    這篇文章主要介紹了一個(gè)靜態(tài)文件處理的一些便捷服務(wù),包括 java清除html轉(zhuǎn)義字符,清除html代碼,從style樣式中讀取CSS的屬性,將字符串截取指定長(zhǎng)度,涉及l(fā)og4j,common-lang類(lèi)的學(xué)習(xí)
    2014-01-01
  • Java Swing JTextArea文本區(qū)域的實(shí)現(xiàn)示例

    Java Swing JTextArea文本區(qū)域的實(shí)現(xiàn)示例

    這篇文章主要介紹了Java Swing JTextArea文本區(qū)域的實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • SpringBoot應(yīng)用整合ELK實(shí)現(xiàn)日志收集的示例代碼

    SpringBoot應(yīng)用整合ELK實(shí)現(xiàn)日志收集的示例代碼

    這篇文章主要介紹了SpringBoot應(yīng)用整合ELK實(shí)現(xiàn)日志收集的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • eclipse java工程改造為java web工程詳解

    eclipse java工程改造為java web工程詳解

    這篇文章主要介紹了eclipse java工程改造為java web工程詳解的相關(guān)資料,需要的朋友可以參考下
    2017-05-05

最新評(píng)論

静乐县| 昭平县| 穆棱市| 哈尔滨市| 江津市| 济阳县| 喀什市| 瓮安县| 瑞金市| 浦东新区| 平塘县| 商城县| 鄂州市| 甘孜县| 于都县| 介休市| 三台县| 雷波县| 黑龙江省| 万盛区| 洮南市| 许昌市| 金平| 桦甸市| 什邡市| 仙居县| 台安县| 化隆| 兴义市| 宁晋县| 正宁县| 昌都县| 平果县| 新巴尔虎左旗| 汾西县| 康马县| 郯城县| 溆浦县| 阳山县| 海盐县| 富顺县|