Languages
[Edit]
EN

Java - how to simply calculate difference between two Dates in days?

8 points
Created by:
Kate_C
2854

1. Overview

In java we can calculate difference between two Dates with TimeUnit class.

2. Example of how to calculate difference between two Dates in days

import java.time.LocalDateTime;
import java.time.ZoneOffset;
import java.util.Date;
import java.util.concurrent.TimeUnit;

public class CalculateDifferenceBetweenDays {

    public static void main(String[] args) {

        LocalDateTime of1 = LocalDateTime.of(2019, 10,  3, 16, 20, 0, 0);
        LocalDateTime of2 = LocalDateTime.of(2019, 10, 12, 16, 20, 0, 0);

        Date from = Date.from(of1.toInstant(ZoneOffset.UTC));
        Date now  = Date.from(of2.toInstant(ZoneOffset.UTC));

        long differenceDays = calculateDifferenceBetweenTwoDatesInDays(from, now);

        System.out.println("Diff in days: ");
        System.out.println(differenceDays); // 9
    }

    public static long calculateDifferenceBetweenTwoDatesInDays(Date from, Date now) {
        long millisecondsDiff = now.getTime() - from.getTime();
        return TimeUnit.DAYS.convert(millisecondsDiff, TimeUnit.MILLISECONDS);
    }
}

Output:

Diff in days:
9

References

  1. LocalDateTime - JavaDoc
  2. Date - JavaDoc
  3. TimeUnit - JavaDoc
  4. ZoneOffset - JavaDoc
Hey 👋
Would you like to know what we do?
  • Dirask is a friendly IT community for learners, professionals and hobbyists to share their knowledge and help each other in extraordinary easy way.
  • We welcome everyone,
    no matter what the experience,
    no matter how basic the question is,
    this community will help you.