欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java獲取某一日期的前N天(使用Calendar類)

 更新時(shí)間:2023年08月19日 14:49:06   作者:JavaWizard-M  
這篇文章主要給大家介紹了關(guān)于Java如何使用Calendar類獲取某一日期的前N天,我們可以使用Java中的Calendar類來獲取前n天的時(shí)間,文中給出了詳細(xì)的代碼示例,需要的朋友可以參考下

獲取當(dāng)前日期的前一天,可以使用 Java 自帶的 Calendar 類,這里提供兩種實(shí)現(xiàn)方式:

  • 使用 Calendar 類

    // 獲取 Calendar 實(shí)例
    Calendar calendar = Calendar.getInstance();
    // 設(shè)置為當(dāng)前日期
    calendar.setTime(new Date());
    // 將日期減去一天
    calendar.add(Calendar.DATE, -1);
    // 獲取前一天日期
    Date yesterday = calendar.getTime();
  • 使用 Java 8 新特性 LocalDate

    // 獲取當(dāng)前日期
    LocalDate today = LocalDate.now();
    // 獲取前一天日期
    LocalDate yesterday = today.minusDays(1);
    // 轉(zhuǎn)換為 Date 類型
    Date date = Date.from(yesterday.atStartOfDay(ZoneId.systemDefault()).toInstant());

第二種方法使用了 Java 8 中引入的新日期時(shí)間 API,可以更方便地進(jìn)行日期計(jì)算,不過需要注意,由于其是在 Java 8 中引入的,如果你的項(xiàng)目使用的是舊版本的 Java,則該方法不可用。

附:獲取n天后的對(duì)應(yīng)的工作日日期

/**
     *
     * 根據(jù)開始日期 ,需要的工作日天數(shù) ,計(jì)算n天后的日期(周六日不包含)
     * @param startDate 開始日期
     * @param workDays 天數(shù)
     *
     */
    public static String getAfterWorkDays(Date startDate, int workDays) {
        Calendar c1 = Calendar.getInstance();
        c1.setTime(startDate);
        for (int i = 0; i < workDays; i++) {
            c1.set(Calendar.DATE, c1.get(Calendar.DATE) + 1);
            if (Calendar.SATURDAY == c1.get(Calendar.SATURDAY) || Calendar.SUNDAY == c1.get(Calendar.SUNDAY)) {
                workDays = workDays + 1;
                c1.set(Calendar.DATE, c1.get(Calendar.DATE) + 1);
                continue;
            }
        }
        SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        System.out.println(df.format(c1.getTime()) + " " + getWeekOfDate(c1.getTime()));
        return df.format(c1.getTime());
    }

總結(jié)

到此這篇關(guān)于Java獲取某一日期的前N天的文章就介紹到這了,更多相關(guān)Java獲取日期前N天內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java操作集合工具類Collections使用詳解

    Java操作集合工具類Collections使用詳解

    這篇文章主要介紹了java操作集合工具類Collections使用詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-12-12
  • Java通過Process類Runtime.getRuntime().exec()執(zhí)行bat腳本程序

    Java通過Process類Runtime.getRuntime().exec()執(zhí)行bat腳本程序

    用Java編寫應(yīng)用時(shí),有時(shí)需要在程序中調(diào)用另一個(gè)現(xiàn)成的可執(zhí)行程序或系統(tǒng)命令,這篇文章主要給大家介紹了關(guān)于Java如何通過Process類Runtime.getRuntime().exec()執(zhí)行bat腳本程序的相關(guān)資料,需要的朋友可以參考下
    2024-01-01
  • Spring數(shù)據(jù)庫多數(shù)據(jù)源路由配置過程圖解

    Spring數(shù)據(jù)庫多數(shù)據(jù)源路由配置過程圖解

    這篇文章主要介紹了Spring數(shù)據(jù)庫多數(shù)據(jù)源路由配置過程圖解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-06-06
  • MyBatis注解開發(fā)-@Insert和@InsertProvider的使用

    MyBatis注解開發(fā)-@Insert和@InsertProvider的使用

    這篇文章主要介紹了MyBatis注解開發(fā)-@Insert和@InsertProvider的使用,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。
    2022-07-07
  • SpringMVC自定義類型轉(zhuǎn)換器實(shí)現(xiàn)解析

    SpringMVC自定義類型轉(zhuǎn)換器實(shí)現(xiàn)解析

    這篇文章主要介紹了SpringMVC自定義類型轉(zhuǎn)換器實(shí)現(xiàn)解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-12-12
  • Springboot整合camunda+mysql的集成流程分析

    Springboot整合camunda+mysql的集成流程分析

    本文介紹基于mysql數(shù)據(jù)庫,如何實(shí)現(xiàn)camunda與springboot的集成,如何實(shí)現(xiàn)基于springboot運(yùn)行camunda開源流程引擎,本文分步驟圖文相結(jié)合給大家介紹的非常詳細(xì),需要的朋友參考下吧
    2021-06-06
  • Java 使用Docker時(shí)經(jīng)常遇到的五個(gè)問題

    Java 使用Docker時(shí)經(jīng)常遇到的五個(gè)問題

    這篇文章主要介紹了Java 使用Docker時(shí)經(jīng)常遇到的五個(gè)問題的相關(guān)資料,需要的朋友可以參考下
    2016-10-10
  • Spring Boot啟動(dòng)時(shí)調(diào)用自己的非web邏輯

    Spring Boot啟動(dòng)時(shí)調(diào)用自己的非web邏輯

    在spring Boot中,有些代碼是WEB功能,例如API等,但是有些邏輯是非WEB,啟動(dòng)時(shí)就要調(diào)用并持續(xù)運(yùn)行的,該如何加載自己的非WEB邏輯呢,下面通過實(shí)例代碼給大家講解,一起看看吧
    2017-07-07
  • Java網(wǎng)絡(luò)編程之UDP網(wǎng)絡(luò)通信詳解

    Java網(wǎng)絡(luò)編程之UDP網(wǎng)絡(luò)通信詳解

    這篇文章主要為大家詳細(xì)介紹了Java網(wǎng)絡(luò)編程中的UDP網(wǎng)絡(luò)通信的原理與實(shí)現(xiàn),文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,需要的可以參考一下
    2022-09-09
  • Java設(shè)計(jì)模式之備忘錄模式

    Java設(shè)計(jì)模式之備忘錄模式

    這篇文章主要介紹了Java設(shè)計(jì)模式之備忘錄模式,備忘錄模式(Memento Pattern),屬于行為型設(shè)計(jì)模式,目的是用于保存一個(gè)對(duì)象在某一時(shí)刻的狀態(tài),以便于在將來某個(gè)時(shí)刻根據(jù)此狀態(tài)恢復(fù)該對(duì)象,需要的朋友可以參考下
    2023-12-12

最新評(píng)論