今天在做项目时,遇到了对时间的加减进行操作的需求,根据传入的日期字符串,操作参数("+","-"),加数(要操作的天数),对日期进行加减操作,经查询资料,自己写了一个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】,回复关键字即可。

最新文章

  1. 笔记整理之 Bulk Insert
  2. svn 提交冲突(目录下删除文件)
  3. IIS 6.0 401 错误
  4. 【LeetCode 173】Binary Search Tree Iterator
  5. Delphi2010下的FillChar
  6. scikit-learn点滴
  7. java一点内容
  8. Spring相框:AOP详细说明
  9. 错误代码是1130,ERROR 1130: Host xxx.xxx.xxx.xxx is not allowed to connect to this MySQL server 是无法给远程连接的用户权限问题
  10. centos7 部署 ELK 日志系统
  11. 停止预览时调用Camera.release(), 出现Method called after release()异常问题原因及解决办法
  12. SQL基础语法
  13. 彻底解决eclipse中tomcat启动速度缓慢的问题
  14. Django建站+Vuejs前端
  15. 小程序实践(五):for循环绑定item的点击事件
  16. WAS 常见报错
  17. windows中80端口被System占用,PID=4的问题
  18. [实战]MVC5+EF6+MySql企业网盘实战(2)——验证码
  19. 解决chrome无法启用印象笔记-剪藏功能
  20. Windows下查看文件MD5值

热门文章

  1. 组合数学--容斥原理&鸽巢原理
  2. Luogu_2878_[USACO07JAN]保护花朵Protecting the Flowers
  3. python ftp sftp
  4. etcd安装部署步骤
  5. 一天速成Python教程
  6. C++走向远洋——39(指向学生类的指针)
  7. LeetCode---二叉树3-总结例题
  8. 一文了解各大图数据库查询语言(Gremlin vs Cypher vs nGQL)| 操作入门篇
  9. http协议概览
  10. html+css布局类型