Comment ajouter un jour à une date en Java

Asad Riaz 12 octobre 2023
  1. La méthode plusDays() pour ajouter un jour à une Date en Java
  2. Méthode Calendar pour ajouter un jour à une date en Java
  3. Ajouter des millisecondes pour ajouter un jour à une date en Java
  4. Classe Instant pour ajouter un jour à une date en Java
Comment ajouter un jour à une date en Java

Dans ce tutoriel, nous apprendrons comment ajouter des jours à une date en Java. Cela peut être fait en utilisant différentes approches comme la méthode plusDays, la méthode de la classe Calendar, l’ajout de millisecondes à un objet Date, et la méthode de la classe instantanée. Si vous utilisez Java 1.8 ou plus, alors l’approche plusDays est recommandée.

La méthode plusDays() pour ajouter un jour à une Date en Java

Dans la version 1.8 de Java, de nouvelles classes java.time, c’est-à-dire LocalDate, LocalDateTime ont des méthodes plusDays et minusDays pour ajouter et soustraire des unités de temps à n’importe quelle instance temporelle.

Considérons le code suivant:

// java 1.8
package simpletesting;
import java.time.LocalDateTime;

public class SimpleTesting {
  public static void main(String[] args) {
    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:     " + today);
    System.out.println("Tomorrow:  " + tomorrow);
    System.out.println("Yesterday: " + yesterday);
  }
}

Production:

Today:     2020-03-22T19:01:00.728
Tomorrow:  2020-03-23T19:01:00.728
Yesterday: 2020-03-21T19:01:00.728

Méthode Calendar pour ajouter un jour à une date en Java

Nous pouvons utiliser la classe Calendar pour ajouter un jour à une Date dans Java. Cela peut être fait en ajoutant simplement un jour à l’instance de la classe Calendar:

// java 1.8
package simpletesting;
import java.util.Calendar;
import java.util.Date;

public class SimpleTesting {
  public static void main(String[] args) {
    Date dt = new Date();
    System.out.println("Today:    " + dt);
    Calendar c = Calendar.getInstance();
    c.setTime(dt);
    c.add(Calendar.DATE, 1);
    dt = c.getTime();
    System.out.println("Tomorrow: " + dt);
  }
}

Production:

Today:    Sun Mar 22 19:07:48 PKT 2020
Tomorrow: Mon Mar 23 19:07:48 PKT 2020

Ajouter des millisecondes pour ajouter un jour à une date en Java

Date a un constructeur qui utilise les millisecondes. La méthode getTime() nous donne cette valeur. Ainsi, en ajoutant les millisecondes pour un jour, on ajoute un jour à Date.

Code:

// java 1.8
package simpletesting;
import java.util.Date;

public class SimpleTesting {
  public static void main(String[] args) {
    Date dt = new Date();
    System.out.println("Today:    " + dt);
    Date tomorrow = new Date(dt.getTime() + (1000 * 60 * 60 * 24));
    System.out.println("Tomorrow: " + tomorrow);
  }
}

Production:

Today:    Sun Mar 22 19:15:27 PKT 2020
Tomorrow: Mon Mar 23 19:15:27 PKT 2020

Attention, si nous utilisons un Calendar Timezone avec l’heure d’été, il se peut qu’il ne passe pas au jour suivant.

Classe Instant pour ajouter un jour à une date en Java

La classe Instant est proche de l’équivalent de la classe Date. L’Instant se résout en nanosecondes. La méthode instant.plus ajoute les jours donnés à Date.

Code:

// java 1.8
package simpletesting;
import java.time.Instant;
import java.time.temporal.ChronoUnit;
import java.util.Date;

public class SimpleTesting {
  public static void main(String[] args) {
    Date dt = new Date();
    System.out.println("Today:    " + dt);
    Instant instant = dt.toInstant();
    Instant nextDay = instant.plus(1, ChronoUnit.DAYS);
    System.out.println("Tomorrow: " + nextDay);
  }
}

Production:

Today:    Sun Mar 22 19:19:58 PKT 2020
Tomorrow: 2020-03-23T14:19:58.072Z

Article connexe - Java DateTime