HowToDoInJava

  • Python
  • Java
  • Spring Boot
  • Dark Mode
Home / Java / Java Date Time / Java add days to Date and LocalDateTime

Java add days to Date and LocalDateTime

Java examples to add or substract days, months or years from java.util.Date and java.time.LocalDateTime classes.

Java 8 Plus Minus Days to LocalDateTime

This recommended approach if you are using JDK 1.8 or later. New java.time classes i.e. LocalDate, LocalDateTime and ZoneDateTime have plus and minus methods, which can be used to add or substract time units from any time instant.

This is one approach where you can add days to Date without Calendar.

LocalDateTime today =  LocalDateTime.now();		//Today
LocalDateTime tomorrow = today.plusDays(1);		//Plus 1 day
LocalDateTime yesterday = today.minusDays(1);	//Minus 1 day

System.out.println(today);			//2018-07-14
System.out.println(tomorrow);		//2018-07-15
System.out.println(yesterday);		//2018-07-13

LocalDateTime sameDayNextMonth = today.plusMonths(1);		//2018-08-14
LocalDateTime sameDayLastMonth = today.minusMonths(1);		//2018-06-14

LocalDateTime sameDayNextYear = today.plusYears(1);		//2019-07-14
LocalDateTime sameDayLastYear = today.minusYears(1);	//2017-07-14

//Get Date from LocalDateTime 
//Not recommended. Use when you have no options in legacy code.
Date currentDatePlusOneDay = Date.from(tomorrow.atZone(ZoneId.systemDefault()).toInstant());

System.out.println(currentDatePlusOneDay);		//Sun Jul 15 22:25:04 IST 2018

Add days to Date [Java 7]

Till Java 7, only good way to add days to Date is using Calendar class. It’s calendar.add() method takes argument of various time units to manipulate the date. It can be used to add days, months or any time unit in underlying Date class.

Date today = new Date();
System.out.println(today);		//Sat Jul 14 22:25:03 IST 2018

Calendar cal = Calendar.getInstance();
cal.setTime(today);

// manipulate date
cal.add(Calendar.YEAR, 1);
cal.add(Calendar.MONTH, 1);
cal.add(Calendar.DATE, 1); 
cal.add(Calendar.DAY_OF_MONTH, 1);

// convert calendar to date
Date modifiedDate = cal.getTime();
System.out.println(modifiedDate);		//Fri Aug 16 22:25:03 IST 2019

Drop me your questions in comments section.

Happy Learning !!

References:

Date JavaDoc
Calendar JavaDoc
LocalDateTime JavaDoc

Was this post helpful?

Let us know if you liked the post. That’s the only way we can improve.
TwitterFacebookLinkedInRedditPocket

About Lokesh Gupta

A family guy with fun loving nature. Love computers, programming and solving everyday problems. Find me on Facebook and Twitter.

Comments are closed on this article!

Search Tutorials

Java Date Time Tutorial

  • Java – Date Time APIs
  • Java – Date Parsing
  • Java – Date Formatting
  • Java 8 – LocalDate
  • Java 8 – LocalTime
  • Java 8 – LocalDateTime
  • Java 8 – ZonedDateTime
  • Java 8 – Period
  • Java 8 – DateTimeFormatter
  • Java 8 – TemporalAdjusters
  • Java 8 – TemporalQuery
  • Java 8 – DayOfWeek
  • Java – Date
  • Java – Locale

Java Tutorial

  • Java Introduction
  • Java Keywords
  • Java Flow Control
  • Java OOP
  • Java Inner Class
  • Java String
  • Java Enum
  • Java Collections
  • Java ArrayList
  • Java HashMap
  • Java Array
  • Java Sort
  • Java Clone
  • Java Date Time
  • Java Concurrency
  • Java Generics
  • Java Serialization
  • Java Input Output
  • Java New I/O
  • Java Exceptions
  • Java Annotations
  • Java Reflection
  • Java Garbage collection
  • Java JDBC
  • Java Security
  • Java Regex
  • Java Servlets
  • Java XML
  • Java Puzzles
  • Java Examples
  • Java Libraries
  • Java Resources
  • Java 14
  • Java 12
  • Java 11
  • Java 10
  • Java 9
  • Java 8
  • Java 7

Meta Links

  • About Me
  • Contact Us
  • Privacy policy
  • Advertise
  • Guest and Sponsored Posts

Recommended Reading

  • 10 Life Lessons
  • Secure Hash Algorithms
  • How Web Servers work?
  • How Java I/O Works Internally?
  • Best Way to Learn Java
  • Java Best Practices Guide
  • Microservices Tutorial
  • REST API Tutorial
  • How to Start New Blog

Copyright © 2020 · HowToDoInjava.com · All Rights Reserved. | Sitemap

  • Sealed Classes and Interfaces