Java 中,如何對日期進行加減操作


今天在做項目時,遇到了對時間的加減進行操作的需求,根據傳入的日期字符串,操作參數("+","-"),加數(要操作的天數),對日期進行加減操作,經查詢資料,自己寫了一個Demo測試類,通過調試可以正常加減,現將代碼分享如下,希望對遇到的朋友們有所幫助!

 

package com.ltw.test;
 
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.GregorianCalendar;
 
public class Test {
 
    @SuppressWarnings("deprecation")
    public static void main(String[] args) {
        
        //根據傳入的日期字符串,操作參數("+","-"),加數(要操作的天數),對日期進行加減操作
        String dateStr = "2020-03-26 18:20:23";
        
        // 轉化原時間的的格式(發現用帶'-'的字符串進行Date.parse() 時會報錯,經過這樣替換可以實現)
        String str = dateStr.replace("-", "/");
        
        // 加減時間類型
        String operator = "+";
        
        // 加減的天數
        Integer i = 20;
        
        // 定義變量接收轉化的時間值
        long j = 0;
        Date date = null;
        
        try {
            j = Date.parse(str);
            date = new Date(j);
        } catch (Exception e) {
            e.printStackTrace();
        }
        GregorianCalendar gc = new GregorianCalendar();
        gc.setTime(date);
 
        if ("+".equals(operator)) {
            gc.add(GregorianCalendar.DATE, i);
 
        } else if ("-".equals(operator)) {
            gc.add(GregorianCalendar.DATE, (-i));
        }
        
        Date a = gc.getTime();
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        
        System.out.println(sdf.format(a));
        
    }
}

 

獲取更多精彩內容,學習資料,視頻等,請關注微信公眾號【程序員Style】,回復關鍵字即可。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM