Java獲取某一日期的前N天(使用Calendar類)
獲取當(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)文章
MybatisPlus特殊查詢的實(shí)現(xiàn)介紹
這篇文章主要介紹了MybatisPlus查詢投影、聚合查詢、分組查詢、等值查詢、范圍查詢、模糊查詢、排序查詢,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧2022-10-10
Java隨手筆記8之包、環(huán)境變量和訪問控制及maven profile實(shí)現(xiàn)多環(huán)境打包
這篇文章主要介紹了Java隨手筆記8之包、環(huán)境變量和訪問控制及maven profile實(shí)現(xiàn)多環(huán)境打包的相關(guān)資料,需要的朋友可以參考下2015-11-11
SpringBoot集成Eclipse Mosquitto的實(shí)現(xiàn)示例
本文主要介紹了SpringBoot集成Eclipse Mosquitto的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2025-08-08
java計(jì)算值所占的百分比,結(jié)果為100%問題
這篇文章主要介紹了java計(jì)算值所占的百分比,結(jié)果為100%問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-11-11
詳解spring boot jpa整合QueryDSL來簡(jiǎn)化復(fù)雜操作
這篇文章主要介紹了詳解spring boot jpa整合QueryDSL來簡(jiǎn)化復(fù)雜操作,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-04-04
java easyexcel主子表報(bào)表打印實(shí)踐
EasyExcel支持主子表報(bào)表導(dǎo)出,可通過多sheet分開展示或單sheet合并單元格方式實(shí)現(xiàn),后者需自定義策略,適合傳統(tǒng)報(bào)表形式,根據(jù)需求選擇合適方案即可2025-09-09

