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

java中比較2個(gè)Date是不是同一天的五種實(shí)現(xiàn)方法與對(duì)比

 更新時(shí)間:2026年01月21日 09:11:12   作者:悟能不能悟  
這篇文章主要為大家詳細(xì)介紹了java中比較2個(gè)Date是不是同一天的五種實(shí)現(xiàn)方法,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,感興趣的小伙伴可以了解一下

以下是幾種簡單的方法比較兩個(gè) Date是否為同一天:

方法1:Java 8+ 使用 LocalDate(推薦)

import java.time.LocalDate;
import java.time.ZoneId;
import java.util.Date;

public boolean isSameDay(Date date1, Date date2) {
    LocalDate localDate1 = date1.toInstant()
        .atZone(ZoneId.systemDefault())
        .toLocalDate();
    LocalDate localDate2 = date2.toInstant()
        .atZone(ZoneId.systemDefault())
        .toLocalDate();
    return localDate1.isEqual(localDate2);
}

方法2:Java 8+ 簡化版

import java.time.Instant;
import java.time.LocalDate;
import java.time.ZoneId;
import java.util.Date;

public boolean isSameDay(Date date1, Date date2) {
    return LocalDate.ofInstant(date1.toInstant(), ZoneId.systemDefault())
        .equals(LocalDate.ofInstant(date2.toInstant(), ZoneId.systemDefault()));
}

方法3:使用 Calendar(Java 7及之前)

import java.util.Calendar;
import java.util.Date;

public boolean isSameDay(Date date1, Date date2) {
    Calendar cal1 = Calendar.getInstance();
    Calendar cal2 = Calendar.getInstance();
    cal1.setTime(date1);
    cal2.setTime(date2);
    
    return cal1.get(Calendar.YEAR) == cal2.get(Calendar.YEAR) &&
           cal1.get(Calendar.MONTH) == cal2.get(Calendar.MONTH) &&
           cal1.get(Calendar.DAY_OF_MONTH) == cal2.get(Calendar.DAY_OF_MONTH);
}

方法4:使用 SimpleDateFormat(最簡短)

import java.text.SimpleDateFormat;
import java.util.Date;

public boolean isSameDay(Date date1, Date date2) {
    SimpleDateFormat fmt = new SimpleDateFormat("yyyyMMdd");
    return fmt.format(date1).equals(fmt.format(date2));
}

方法5:一行代碼版(Java 8+)

public boolean isSameDay(Date date1, Date date2) {
    return date1.toInstant().atZone(java.time.ZoneId.systemDefault()).toLocalDate()
        .equals(date2.toInstant().atZone(java.time.ZoneId.systemDefault()).toLocalDate());
}

測(cè)試示例

public static void main(String[] args) {
    Date date1 = new Date();  // 當(dāng)前時(shí)間
    Date date2 = new Date();  // 當(dāng)前時(shí)間
    Date date3 = new Date(date1.getTime() + 24 * 60 * 60 * 1000);  // 明天
    
    System.out.println(isSameDay(date1, date2));  // true
    System.out.println(isSameDay(date1, date3));  // false
}

推薦方案

Java 8及以上:使用方法1,代碼清晰且性能好

Java 7及以下:使用方法3(Calendar)或方法4(SimpleDateFormat)

追求極致簡潔:使用方法4的SimpleDateFormat版本,雖然創(chuàng)建了格式化對(duì)象,但代碼最簡短

到此這篇關(guān)于java中比較2個(gè)Date是不是同一天的五種實(shí)現(xiàn)方法與對(duì)比的文章就介紹到這了,更多相關(guān)java比較Date內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • SpringMVC @RequestMapping的使用演示和細(xì)節(jié)展示

    SpringMVC @RequestMapping的使用演示和細(xì)節(jié)展示

    本文詳細(xì)介紹了SpringMVC中@RequestMapping注解的用法,包括其映射請(qǐng)求、參數(shù)配置、Ant風(fēng)格URL、與@PathVariable結(jié)合使用,以及如何通過@Controller實(shí)現(xiàn)POJO作為控制器,強(qiáng)調(diào)掌握該注解對(duì)SpringMVC開發(fā)的重要性,感興趣的朋友跟隨小編一起看看吧
    2025-09-09
  • Java遍歷Json中的key和value問題

    Java遍歷Json中的key和value問題

    這篇文章主要介紹了Java遍歷Json中的key和value問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • JAVA中六種策略模式的實(shí)現(xiàn)方式(附代碼示例和適用場(chǎng)景)

    JAVA中六種策略模式的實(shí)現(xiàn)方式(附代碼示例和適用場(chǎng)景)

    策略模式是一種行為模式,也是替代大量ifelse的利器,它所能幫你解決的是場(chǎng)景,一般是具有同類可替代的行為邏輯算法場(chǎng)景,這篇文章主要介紹了JAVA中六種策略模式實(shí)現(xiàn)方式的相關(guān)資料,需要的朋友可以參考下
    2026-01-01
  • Spring Boot整合消息隊(duì)列RabbitMQ的實(shí)現(xiàn)示例

    Spring Boot整合消息隊(duì)列RabbitMQ的實(shí)現(xiàn)示例

    本文主要介紹了Spring Boot整合消息隊(duì)列RabbitMQ的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2025-03-03
  • linux系統(tǒng)下查看jdk版本、路徑及配置環(huán)境變量

    linux系統(tǒng)下查看jdk版本、路徑及配置環(huán)境變量

    在Linux系統(tǒng)中,配置JDK環(huán)境變量是非常重要的,它可以讓你在終端中直接使用Java命令,這篇文章主要給大家介紹了關(guān)于linux系統(tǒng)下查看jdk版本、路徑及配置環(huán)境變量的相關(guān)資料,需要的朋友可以參考下
    2024-01-01
  • 基于Spring-Security自定義登陸錯(cuò)誤提示信息

    基于Spring-Security自定義登陸錯(cuò)誤提示信息

    這篇文章主要介紹了Spring-Security自定義登陸錯(cuò)誤提示信息,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • java多線程之CyclicBarrier的使用方法

    java多線程之CyclicBarrier的使用方法

    這篇文章主要介紹了java多線程之CyclicBarrier的使用方法的相關(guān)資料,希望通過本文能幫助到大家,讓大家理解掌握這部分內(nèi)容,需要的朋友可以參考下
    2017-10-10
  • 基于Java注解(Annotation)的自定義注解入門介紹

    基于Java注解(Annotation)的自定義注解入門介紹

    要深入學(xué)習(xí)注解,我們就必須能定義自己的注解,并使用注解,在定義自己的注解之前,我們就必須要了解Java為我們提供的元注解和相關(guān)定義注解的語法
    2013-04-04
  • 詳解MyBatis配置typeAliases的方法

    詳解MyBatis配置typeAliases的方法

    這篇文章主要介紹了詳解MyBatis配置typeAliases的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10
  • idea自定義快捷代碼生成模板的方法

    idea自定義快捷代碼生成模板的方法

    這篇文章主要介紹了idea自定義快捷代碼生成模板的方法,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-12-12

最新評(píng)論

宜君县| 界首市| 台北市| 遵义县| 恩平市| 荣昌县| 油尖旺区| 延边| 巴林左旗| 大余县| 南宁市| 长沙市| 周至县| 武夷山市| 潼南县| 贡嘎县| 唐海县| 金沙县| 合江县| 九龙坡区| 陇川县| 铜陵市| 太谷县| 丹棱县| 沛县| 莎车县| 墨脱县| 平果县| 双鸭山市| 汤原县| 娄底市| 勃利县| 芦溪县| 若尔盖县| 大同市| 明光市| 东宁县| 陵水| 宁乡县| 商丘市| 松溪县|