$show=/label

How To Increment/Decrement Date Using Joda DateTime

SHARE:

A quick programming guide on how to add days to the current time and increment date using joda date time api with org.joda.time.DateTime class methods

1. Overview

In this quick tutorial, you will learn how to add days to the current date and time using joda date time api.

And also how to remove or set back to old date using joda date time api.

First, you need to add the joda date time dependency to the project using the below maven dependency.
<dependency>
    <groupId>joda-time</groupId>
    <artifactId>joda-time</artifactId>
    <version>2.10.8</version>
</dependency>
Joda Time api has one class org.joda.time.DateTime class with several methods to properly deal with the date and time operations.

DateTime class is implementation of unmodifiable DateTime and this is immutable.

How To Increment/Decrement Date Using Joda DateTime



2. Increment Date Using Joda Date Time API


Next, let us look into the DateTime api methods which can add some days to the current date.

DateTime api class several method to add or increment the date and time with the following methods.

All methods starts with plusXXX() are to increment the particular part of date time value.

All plus methods:

plusYears(int n) - to increase n years
plusMonths(int n) - to increase n months
plusWeeks(int n) - to increase n weeks
plusDays(int n) - to increase n days
plusHours(int n) - to increase n hours
plusMinutes(int n) - to increase n minutes
plusSeconds(int n) - to increase n seconds
plusMillis(int n) - to increase n milli seconds


joda datetime plusDays + plusXXX methods

import org.joda.time.DateTime;

public class JodaDateIncrement {

	public static void main(String[] args) {

		String dateFormat = "yyyy-MM-dd";

		// creating joda date time object
		DateTime dateTime = new DateTime();

		// printing the current date in format "yyyy-MM-dd"
		System.out.println("Joda current date time : " + getDate(dateTime, dateFormat));

		// incrementing two days to the current date
		dateTime = dateTime.plusDays(2);

		// printing the modified datetime object
		System.out.println("Joda date after adding two days : " + getDate(dateTime, dateFormat));

	}

	// getting the date in the given format
	private static String getDate(DateTime dateTime, String dateFormat) {
		return dateTime.toString(dateFormat);
	}

}
Output:
Joda current date time : 2020-11-17
Joda date after adding two days : 2020-11-19

In the above example, first created current date time with DateTime class and add two days using plusDays() method. Finally, used the toString("yyyy-MM-dd") method with a format to view the date in the readable format.

We have used only plusDays() method but you can play around with the remaining plusXXX series methods.

3. Decrement Date Using Joda Date Time API


As above similar to the plus methods, Joda DateTime also has methods for minus date operations.

In the below program, we called minusDays(2), minusMonths(2) and minusYears(2) methods. So, it sets 2 months, 2 days and 2 years back to the current date.
package com.javaprogramto.java8.dates.conversion;

import org.joda.time.DateTime;
/**
 * A simple example to set the current date to old date using joda api.  
 * 
 * @author javaprogramto.com
 *
 */
public class JodaDateDecrement {

	public static void main(String[] args) {

		String dateFormat = "yyyy-MM-dd";

		// creating joda date time object
		DateTime dateTime = new DateTime();

		// printing the current date in format "yyyy-MM-dd"
		System.out.println("Joda current date time : " + getDate(dateTime, dateFormat));

		// decreasing two years, two months and two days to the current date
		dateTime = dateTime.minusDays(2).minusMonths(2).minusYears(2);

		// printing the modified datetime object
		System.out.println("Joda date after setting old date: " + getDate(dateTime, dateFormat));

	}

	// getting the date in the given format
	private static String getDate(DateTime dateTime, String dateFormat) {
		return dateTime.toString(dateFormat);
	}

}
Output:
Joda current date time : 2020-11-17
Joda date after setting old date: 2018-09-15
As you can see in the output that original current date is moved back to 2 years, 2 months and 2 days.

Note: But, you need to store the result back to the same object "datetime". If you do not apply this step then result would not take into effect. This rules applies to the all plus and minus series methods.

All minus methods:

minusYears(int n) - to minus n years
minusMonths(int n) - to minus n years
minusWeeks(int n) - to minus n years
minusDays(int n) - to minus n years
minusHours(int n) - to minus n years
minusMinutes(int n) - to minus n years
minusSeconds(int n) - to minus n years
minusMillis(int n) - to minus n years



joda datetime minusDays + minusXXX methods

4. Conclusion


In this quick article, you've seen how to work with date increment and decrement operations with Joda DateTime api methods.

Examples are shown with plusXXX() and minusXXX() Series methods.

GitHub:



COMMENTS

BLOGGER

About Us

Author: Venkatesh - I love to learn and share the technical stuff.
Name

accumulo,1,ActiveMQ,2,Adsense,1,API,37,ArrayList,18,Arrays,24,Bean Creation,3,Bean Scopes,1,BiConsumer,1,Blogger Tips,1,Books,1,C Programming,1,Collection,8,Collections,37,Collector,1,Command Line,1,Comparator,1,Compile Errors,1,Configurations,7,Constants,1,Control Statements,8,Conversions,6,Core Java,149,Corona India,1,Create,2,CSS,1,Date,3,Date Time API,38,Dictionary,1,Difference,2,Download,1,Eclipse,3,Efficiently,1,Error,1,Errors,1,Exceptions,8,Fast,1,Files,17,Float,1,Font,1,Form,1,Freshers,1,Function,3,Functional Interface,2,Garbage Collector,1,Generics,4,Git,9,Grant,1,Grep,1,HashMap,2,HomeBrew,2,HTML,2,HttpClient,2,Immutable,1,Installation,1,Interview Questions,6,Iterate,2,Jackson API,3,Java,32,Java 10,1,Java 11,6,Java 12,5,Java 13,2,Java 14,2,Java 8,128,Java 8 Difference,2,Java 8 Stream Conversions,4,java 8 Stream Examples,12,Java 9,1,Java Conversions,14,Java Design Patterns,1,Java Files,1,Java Program,3,Java Programs,114,Java Spark,1,java.lang,4,java.util. function,1,JavaScript,1,jQuery,1,Kotlin,11,Kotlin Conversions,6,Kotlin Programs,10,Lambda,2,lang,29,Leap Year,1,live updates,1,LocalDate,1,Logging,1,Mac OS,3,Math,1,Matrix,6,Maven,1,Method References,1,Mockito,1,MongoDB,3,New Features,1,Operations,1,Optional,6,Oracle,5,Oracle 18C,1,Partition,1,Patterns,1,Programs,1,Property,1,Python,2,Quarkus,1,Read,1,Real Time,1,Recursion,2,Remove,2,Rest API,1,Schedules,1,Serialization,1,Servlet,2,Sort,1,Sorting Techniques,8,Spring,2,Spring Boot,23,Spring Email,1,Spring MVC,1,Streams,31,String,61,String Programs,28,String Revese,1,StringBuilder,1,Swing,1,System,1,Tags,1,Threads,11,Tomcat,1,Tomcat 8,1,Troubleshoot,26,Unix,3,Updates,3,util,5,While Loop,1,
ltr
item
JavaProgramTo.com: How To Increment/Decrement Date Using Joda DateTime
How To Increment/Decrement Date Using Joda DateTime
A quick programming guide on how to add days to the current time and increment date using joda date time api with org.joda.time.DateTime class methods
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhmyJWnt8LaPZBn-1dboMN6MflcukRNCzsvQHzWA4SYDeOLLe36g-O5s3e_5BHkn8iLs2Qfo31hEgotjyO_yaZ-_HrByWVBzYHpOxJ20Rl71S7gWmGPfeuL4mNnOhDycV48ISm2yWTG-Xw/w640-h476/How+To+Increment%253ADecrement+Date+Using+Joda+DateTime.png
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhmyJWnt8LaPZBn-1dboMN6MflcukRNCzsvQHzWA4SYDeOLLe36g-O5s3e_5BHkn8iLs2Qfo31hEgotjyO_yaZ-_HrByWVBzYHpOxJ20Rl71S7gWmGPfeuL4mNnOhDycV48ISm2yWTG-Xw/s72-w640-c-h476/How+To+Increment%253ADecrement+Date+Using+Joda+DateTime.png
JavaProgramTo.com
https://www.javaprogramto.com/2020/11/how-to-increment-decrement-date-using-joda-time.html
https://www.javaprogramto.com/
https://www.javaprogramto.com/
https://www.javaprogramto.com/2020/11/how-to-increment-decrement-date-using-joda-time.html
true
3124782013468838591
UTF-8
Loaded All Posts Not found any posts VIEW ALL Readmore Reply Cancel reply Delete By Home PAGES POSTS View All RECOMMENDED FOR YOU LABEL ARCHIVE SEARCH ALL POSTS Not found any post match with your request Back Home Sunday Monday Tuesday Wednesday Thursday Friday Saturday Sun Mon Tue Wed Thu Fri Sat January February March April May June July August September October November December Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec just now 1 minute ago $$1$$ minutes ago 1 hour ago $$1$$ hours ago Yesterday $$1$$ days ago $$1$$ weeks ago more than 5 weeks ago Followers Follow THIS PREMIUM CONTENT IS LOCKED STEP 1: Share to a social network STEP 2: Click the link on your social network Copy All Code Select All Code All codes were copied to your clipboard Can not copy the codes / texts, please press [CTRL]+[C] (or CMD+C with Mac) to copy Table of Content