今天在做項目時,遇到了對時間的加減進行操作的需求,根據傳入的日期字符串,操作參數("+","-"),加數(要操作的天數),對日期進行加減操作,經查詢資料,自己寫了一個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】,回復關鍵字即可。
