1. Calendar.add

Example to add 1 year, 1 month, 1 day, 1 hour, 1 minute and 1 second to the current date.

DateExample.java
package com.mkyong.time;

import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date; public class DateExample { private static final DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss"); public static void main(String[] args) { Date currentDate = new Date();
System.out.println(dateFormat.format(currentDate)); // convert date to calendar
Calendar c = Calendar.getInstance();
c.setTime(currentDate); // manipulate date
c.add(Calendar.YEAR, 1);
c.add(Calendar.MONTH, 1);
c.add(Calendar.DATE, 1); //same with c.add(Calendar.DAY_OF_MONTH, 1);
c.add(Calendar.HOUR, 1);
c.add(Calendar.MINUTE, 1);
c.add(Calendar.SECOND, 1); // convert calendar to date
Date currentDatePlusOne = c.getTime(); System.out.println(dateFormat.format(currentDatePlusOne)); } }

Output

2016/11/10 17:11:48
2017/12/11 18:12:49

2. Java 8 Plus Minus

In Java 8, you can use the plus and minus methods to manipulate LocalDate, LocalDateTime and ZoneDateTime, see the following examples

LocalDateTimeExample.java
package com.mkyong.time;

import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.format.DateTimeFormatter;
import java.util.Date; public class LocalDateTimeExample { private static final String DATE_FORMAT = "yyyy/MM/dd HH:mm:ss";
private static final DateFormat dateFormat = new SimpleDateFormat(DATE_FORMAT);
private static final DateTimeFormatter dateFormat8 = DateTimeFormatter.ofPattern(DATE_FORMAT); public static void main(String[] args) { // Get current date
Date currentDate = new Date();
System.out.println("date : " + dateFormat.format(currentDate)); // convert date to localdatetime
LocalDateTime localDateTime = currentDate.toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime();
System.out.println("localDateTime : " + dateFormat8.format(localDateTime)); // plus one
localDateTime = localDateTime.plusYears(1).plusMonths(1).plusDays(1);
localDateTime = localDateTime.plusHours(1).plusMinutes(2).minusMinutes(1).plusSeconds(1); // convert LocalDateTime to date
Date currentDatePlusOneDay = Date.from(localDateTime.atZone(ZoneId.systemDefault()).toInstant()); System.out.println("\nOutput : " + dateFormat.format(currentDatePlusOneDay)); } }

Output

date : 2016/11/10 17:40:11
localDateTime : 2016/11/10 17:40:11 Output : 2017/12/11 18:41:12
http://www.mkyong.com/java/java-how-to-add-days-to-current-date/

Java – How to add days to current date的更多相关文章

  1. Java – How to get current date time

    Java – How to get current date time 1. Code SnippetsFor java.util.Date, just create a new Date() Dat ...

  2. Java中的日期(Calendar、Date)

    (1)获取当前日期: java.util.Calendar calendar = java.util.Calendar.getInstance(); 或  = new java.util.Gregor ...

  3. Java中如何将String转成Date

    Java中如何将String转成Date 最近在开发Json数据反序列化为Java对象的时候发现spring mvc 和 Jackson 对Date类型对支持不是特别好,虽然在Java对象序列化为Js ...

  4. Attempt to invoke interface method 'boolean java.util.List.add(java.lang.Object)' on a null object reference

    尝试在一个空的对象引用上引用boolean java.util.List.add()这个方法: 错误例子: private ArrayList<String> classList; cla ...

  5. Java进阶(二十四)Java List集合add与set方法原理简介

    Java List集合add与set方法原理简介 add方法 add方法用于向集合列表中添加对象. 语法1 用于在列表的尾部插入指定元素.如果List集合对象由于调用add方法而发生更改,则返回 tr ...

  6. java Queue中 add/offer,element/peek,remove/poll区别

    转自https://blog.csdn.net/u012050154/article/details/60572567 java Queue中 add/offer,element/peek,remov ...

  7. 论Java的ArrayList.add(e)和C++的vector.push_back(e)的区别

    Java的ArrayList和C++的vector很类似,都是很基本的线性数据结构.但是他们的表现却不同. 在工作中碰到一个问题就是,搞不清楚到底传进去的是一个新对象,还是当前对象的引用! 经过实战分 ...

  8. Attempt to invoke interface method 'boolean java.util.List.add(java.lang.Object)' on a null

    1.Android Studio报错 Attempt to invoke interface method 'boolean java.util.List.add(java.lang.Object)' ...

  9. Java中日期格式(String、Date、Calendar)的相互转换

    package day20190318; import java.text.ParseException; import java.text.SimpleDateFormat; import java ...

随机推荐

  1. intel vt

    EPT和VPID技术是内存虚拟化技术, 是页表扩充技术Extended Page Table (EPT) 的缩写, 是VT-x技术的一部分. 内存虚拟化的主要任务是实现地址空间的虚拟化,内存虚拟化是通 ...

  2. ubuntu下配置华为交换机s2016

    因为笔记本没有RS232口,只有装有ubuntu的服务器上有RS232口,于是登录ubuntu 配置连接. 这里使用minicom,当然,Ubuntu源还有个图形界面的gtkterm, cutecom ...

  3. HTML5开发之获取设备的地理坐标

    近期一段时间開始学一下html5,发现里面有好多的知识还是蛮新颖的.所以整理了一下自己练习过的demo给大家分享下,以下的代码是通过js接口获取当前的地理坐标. <!doctype html&g ...

  4. SpringMVC学习笔记六:使用Formatter解析或格式化数据

    转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/6832903.html      Converter可以将一种类型转换成另一种类型,是任意Object之间的类型 ...

  5. JSP页面跳转之sendRedirect()与forward()辨析

    转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/6044817.html  在JSP中,要实现页面的跳转,主要有两种方式实现:forward和sendRedire ...

  6. Jquery的html方法里包含特殊字符的处理

    jqueryhtml()特殊字符 在使用jquery的html()方法时,有时候里面添加的html代码含有一些特殊字符,需要进行转义. 如下例子: inst_html = "<a st ...

  7. XML文件生成C++代码(基于pugixml)

    简述 在一个项目中需要用到XML的解析和生成,知乎上有人推荐rapidxml和pugixml等库.RapidXML一看库还比较大,就先研究一下pugixml了. 因为对解析XML的需求不大(都是一些很 ...

  8. PMI网站中pdu查询

    1.PMI官网:http://www.pmi.org/ 2.登录--->点击“myPMI”-->右侧“CERTIFICATION STATUS”(国外网站常常加载慢  会加载不出来就不显示 ...

  9. tomcat的war由于损坏不能解压导致的服务不能启动

    问题描述: Tomcat启动,提示异常,服务自动释放! INFO: Starting Servlet Engine: Apache Tomcat/ Sep , :: PM org.apache.cat ...

  10. Ubuntu18.04, WPS表格生成中文大写数字的script

    =IF(ROUND(J9,2)<0,"无效数值",IF(ROUND(J9,2)=0,"零",IF(ROUND(J9,2)<1,"" ...