Pages

Wednesday, April 8, 2020

4 Ways To Add Minutes To Date or Current Date Time

1. Introduction


In this article, We'll learn how to add minutes to the date. This is a common useful example program as part of the Date API.

2. Adding Minutes to Date Example


We'll explore different ways of adding mins to date.

2.1 Using Date Constructor


Adding 10 mins to the current time.

// Adding 10 mins using Date constructor.
Calendar date = Calendar.getInstance();
System.out.println("Current Date and TIme : " + date.getTime());
long timeInSecs = date.getTimeInMillis();
Date afterAdding10Mins = new Date(timeInSecs + (10 * 60 * 1000));
System.out.println("After adding 10 mins : " + afterAdding10Mins);

Output:

Current Date and TIme : Wed Apr 08 21:53:45 IST 2020
After adding 10 mins : Wed Apr 08 22:03:45 IST 2020



2.2 Using Apache Commons Lang Library


commons-lang api has a DateUtils class in package org.apache.commons.lang3.time. DateUtils.addMinutes() method takes Date and minutes to be added to the given date.

// apache commons
int addMinuteTime = 5;
Date targetTime = Calendar.getInstance().getTime();
System.out.println("Before Adding : " + targetTime);
targetTime = DateUtils.addMinutes(targetTime, addMinuteTime); // add minute
System.out.println("After adding targetTime : " + targetTime);

Output:

Before Adding : Wed Apr 08 21:53:45 IST 2020
After adding targetTime : Wed Apr 08 21:58:45 IST 2020

2.3 Using Calendar API


Calendar API has add() method that takes the field for the calendar and amount of time to be added.

Calendar currentTimeNow = Calendar.getInstance();
System.out.println("Current time now : " + currentTimeNow.getTime());
currentTimeNow.add(Calendar.MINUTE, 10);
Date tenMinsFromNow = currentTimeNow.getTime();
System.out.println("After adding 10 mins with Caleder add() method : " + tenMinsFromNow);

Output:

Current time now : Wed Apr 08 22:01:38 IST 2020
After adding 10 mins with Caleder add() method : Wed Apr 08 22:11:38 IST 2020

2.4 Using Java 8 API


Java 8 is added with new Date API. LocalDateTime.plus() method takes Duration instance with time in minutes.

LocalDateTime Example:

LocalDateTime dateTime = LocalDateTime.now().plus(Duration.of(10, ChronoUnit.MINUTES));
Date tmfn = Date.from(dateTime.atZone(ZoneId.systemDefault()).toInstant());

3. Full Example Add Mins

ZonedDateTime is added in the below program.

package com.java.w3schools.blog.java.program.to.dates;

import java.time.Duration;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.ZonedDateTime;
import java.time.temporal.ChronoUnit;
import java.util.Calendar;
import java.util.Date;

import org.apache.commons.lang3.time.DateUtils;

public class AddingMinsToDate {

 public static void main(String[] args) {

  // Adding 10 mins using Date constructor.
  Calendar date = Calendar.getInstance();
  System.out.println("Current Date and TIme : " + date.getTime());
  long timeInSecs = date.getTimeInMillis();
  Date afterAdding10Mins = new Date(timeInSecs + (10 * 60 * 1000));
  System.out.println("After adding 10 mins : " + afterAdding10Mins);
  printLine();

  // apache commons
  int addMinuteTime = 5;
  Date targetTime = Calendar.getInstance().getTime();
  System.out.println("Before Adding : " + targetTime);
  targetTime = DateUtils.addMinutes(targetTime, addMinuteTime); // add minute
  System.out.println("After adding targetTime : " + targetTime);
  printLine();

  Calendar currentTimeNow = Calendar.getInstance();
  System.out.println("Current time now : " + currentTimeNow.getTime());
  currentTimeNow.add(Calendar.MINUTE, 10);
  Date tenMinsFromNow = currentTimeNow.getTime();
  System.out.println("After adding 10 mins with Caleder add() method : " + tenMinsFromNow);
  printLine();

  // LocalDateTime Example
  LocalDateTime dateTime = LocalDateTime.now().plus(Duration.of(10, ChronoUnit.MINUTES));
  Date added10Mins = Date.from(dateTime.atZone(ZoneId.systemDefault()).toInstant());
  System.out.println("Java 8 added with 10 mins : " + added10Mins);
  printLine();

  ZonedDateTime addedTime = LocalDateTime.parse("2020-04-01 12:30".replace(" ", "T"))
    .atZone(ZoneId.of("Asia/Karachi")).plusMinutes(10);
  System.out.println("10 mins added : " + addedTime.toLocalDateTime());

 }

 public static void printLine() {
  System.out.println("----------------------------------------------------");
 }

}

Output:

Current Date and TIme : Wed Apr 08 22:10:18 IST 2020
After adding 10 mins : Wed Apr 08 22:20:18 IST 2020
----------------------------------------------------
Before Adding : Wed Apr 08 22:10:18 IST 2020
After adding targetTime : Wed Apr 08 22:15:18 IST 2020
----------------------------------------------------
Current time now : Wed Apr 08 22:10:18 IST 2020
After adding 10 mins with Caleder add() method : Wed Apr 08 22:20:18 IST 2020
----------------------------------------------------
Java 8 added with 10 mins : Wed Apr 08 22:20:18 IST 2020
----------------------------------------------------
10 mins added : 2020-04-01T12:40

4. Conclusion


In this article, We've seen various ways to add minutes to the date or current date-time. The example is shown with Date, Calendar, New Java 8 and Apache commons API.

GitHub Code

Reference

Apache Commons API

DateTime API

No comments:

Post a Comment

Please do not add any spam links in the comments section.