How to Add/Subtract Days to the Current Date in Java


As a developer, one may come across use cases where he/she needs to add or subtract a few days from a Date object, let's take a look at a few examples.

Example 1: Add days using java.util.Calendar (Java 7 or before)

import java.util.Calendar;

public class AddDaystoDateExample {

    public static void main(String[] args) {

        Calendar calendar = Calendar.getInstance();
        
        int addDays = 10;
        calendar.add(Calendar.DAY_OF_YEAR, addDays);
        
        System.out.println("Date after adding 10 days:  " + calendar.getTime());
    }
}

Output:

Date after subtracting 5 days: Sun Jul 10 12:30:46 EDT 2023



Example 2: Add Days using java.time.LocalDateTime (Java 8 or above)
import java.time.LocalDateTime;
import java.time.temporal.ChronoUnit;

public class AddDaystoDateExample {

    public static void main(String[] args) {

        LocalDateTime currentDateTime = LocalDateTime.now();
        

        int addDays = 5;
        LocalDateTime newDateTime = currentDateTime.plus(addDays, ChronoUnit.DAYS);
        
        System.out.println("Date after adding 10 days: " + newDateTime);
    }
}

Output:

Date after subtracting 5 days: Sun Jul 10 12:33:12 EDT 2023



Example 3: Subtract days from Date

import java.time.LocalDateTime;
import java.time.temporal.ChronoUnit;

public class SubtractDaysFromDateExample {

    public static void main(String[] args) {

        LocalDateTime currentDateTime = LocalDateTime.now();

        int subtractDays = -5;
        LocalDateTime newDateTime = currentDateTime.plus(subtractDays, ChronoUnit.DAYS);

        System.out.println("Date after subtracting 5 days: " + newDateTime);
    }
}

Output:

Date after subtracting 5 days: Sun Jul 10 12:36:22 EDT 2023



Facing issues? Have Questions? Post them here! I am happy to answer!

Author Info:

Rakesh (He/Him) has over 14+ years of experience in Web and Application development. He is the author of insightful How-To articles for Code2care.

Follow him on: X

You can also reach out to him via e-mail: rakesh@code2care.org

Copyright © Code2care 2024 | Privacy Policy | About Us | Contact Us | Sitemap