首页 > 数据库 > 数据库开发技术 > Java 如何实现对日期的加减操作?
点击上方“程序员Style”,星标公众号
重磅干货,第一时间送达 每日干货
每日分享,获取 数据库相关资料,在“程序员Style”微信公众号后台回复文字“数据库”即可!
阅读本文约需要3分钟 今天在做项目时,遇到了对时间的加减进行操作的需求,根据传入的日期字符串,操作参数("+","-"),加数(要操作的天数),对日期进行加减操作,得到新的日期时间,经查询资料,自己写了一个Demo测试类,通过调试可以正常的实现时间的加减,现将代码分享如下,希望对遇到的朋友们有所帮助!
package com.ltw.test;import java.text.SimpleDateFormat;import java.util.Date;import java.util.GregorianCalendar;public class Test {("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;如有侵权,请联系管理员删除。