Date du calendrier au format YYYY-MM-DD en Java

Shikha Chaudhary 12 octobre 2023
  1. Conversion de la date au format YYYY-MM-DD en Java
  2. Formater la date au format YYYY-MM-DD en Java
  3. Utiliser la classe SimpleDateFormat en Java
  4. Conclusion
Date du calendrier au format YYYY-MM-DD en Java

La Date Java encapsule l’heure et la date actuelles. La classe date le fait à l’aide de deux constructeurs - les constructeurs Date() et Date(long millisec).

Nous utilisons le constructeur Date() pour initialiser l’objet avec l’heure et la date actuelles. D’autre part, le constructeur Date(long millisec) prend le nombre de millisecondes depuis minuit, le 1er janvier 1970, comme argument.

Mais la sortie que nous obtenons n’est pas au format yyyy-MM-dd. Cet article montrera comment nous pouvons produire la sortie dans ce format.

Nous utilisons la méthode date() en Java pour obtenir la date et l’heure actuelles. Pour ce faire, nous utilisons un objet Date avec la méthode toString(). Regardez l’exemple ci-dessous pour le comprendre.

import java.util.Date;
public class DateExample {
  public static void main(String args[]) {
    // Create a date object
    Date date_of_today = new Date();

    // Use toString() to print the date
    System.out.println(date_of_today.toString());
  }
}

Production :

Mon Jan 10 09:58:43 UTC 2022

Cet exemple utilise la date_of_today pour instancier l’objet DDate et la méthode toString() pour imprimer la date. Notez que la sortie que nous obtenons contient le jour, le mois, la date, l’année et l’heure au format hours:minutes:seconds.

Cela pose problème lorsque l’on travaille avec deux dates ou plus. Pour supprimer le nom du jour et de l’heure de cette sortie, nous pouvons utiliser la méthode printf() de deux manières. Le premier utilise les symboles % et $.

Regardez l’exemple ci-dessous.

import java.util.Date;
public class DateExample {
  public static void main(String args[]) {
    // Create a new object
    Date date_of_today = new Date();

    // Display the date
    System.out.printf("%1$s %2$tB %2$td, %2$tY", "Date:", date_of_today);
  }
}

Production :

Date: January 10, 2022

La deuxième façon est d’utiliser <flag. Reprenez le même exemple.

import java.util.Date;
public class DateExample {
  public static void main(String args[]) {
    // Create a new object
    Date date_of_today = new Date();

    // display the date
    System.out.printf("%s %tB %<te, %<tY", "Date:", date_of_today);
  }
}

Production :

Date: January 10, 2022

Notez que dans ces exemples, l’heure est omise. Mais nous n’obtenons toujours pas la sortie au format yyyy-MM-dd. Voyons comment nous pouvons régler ce problème.

Conversion de la date au format YYYY-MM-DD en Java

Java possède un package java.time. Au lieu d’utiliser la classe date pour travailler avec la date et l’heure, nous pouvons utiliser le package java.time. Prenons d’abord un exemple.

// import the java.time package
import java.time.LocalDate;

public class DemoOfDate {
  public static void main(String[] args) {
    // create an object for date
    LocalDate date_of_today = LocalDate.now();

    // Display the date
    System.out.println(date_of_today);
  }
}

Production :

2022-01-10

Nous utilisons le package java.time et la classe LocalDate dans cet exemple. Cette fois, nous obtenons la sortie au format yyyy-MM-dd. Le package java.time comporte quatre classes principales.

  • LocalDate - Il donne une date au format année, mois, jour ou yyyy-MM-dd comme sortie.
  • LocalTime - Il donne la sortie en temps et en nanosecondes sous la forme HH-mm-ss-ns.
  • LocalDateTime - Il donne la sortie à la fois la date et l’heure comme yyyy-MM-dd-HH-mm-ss-ns.
  • DateTimeFormatter - Cela agit comme un formateur pour les objets date-heure et est utilisé pour les afficher et les analyser.

Notez que nous utilisons la classe LocalDate dans l’exemple ci-dessus. De plus, nous utilisons la méthode now(). La méthode now() en java est une méthode de la classe LocalTime. Il obtient l’heure actuelle dans le fuseau horaire par défaut à partir d’une horloge système.

Syntaxe:

public static LocalTime now()

Nous ne transmettons aucun paramètre dans la méthode now(). Une autre façon consiste à obtenir la sortie au format yyyy-MM-dd. Regardons cela aussi. Voici le lien vers la documentation.

Formater la date au format YYYY-MM-DD en Java

Pour changer la date calendaire au format yyyy-MM-dd, on peut aussi utiliser le concept de formatage. Cela rend le travail avec la date et l’heure beaucoup plus flexible.

Pour cela, nous utilisons la méthode ofPattern() présente dans le package java.time. Les différentes manières d’obtenir la sortie à l’aide de la méthode ofPattern() sont les suivantes.

  • yyyy-MM-dd - This gives the output as 2022-01-25
  • dd/MM/yyyy - This gives the output as 25/01/2022
  • dd-MMM-yyyy - This gives the output as 25/01/2022
  • E, MMM dd yyyy - This gives the output as Tue, Jan 25 2022

Prenons un exemple.

// import the LocalDateTime class
import java.time.LocalDateTime;
// import the DateTimeFormatter class
import java.time.format.DateTimeFormatter;

public class DemoOfDate {
  public static void main(String[] args) {
    LocalDateTime date_of_today = LocalDateTime.now();

    System.out.println("Output before formatting: " + date_of_today);
    DateTimeFormatter format_date_of_today = DateTimeFormatter.ofPattern("yyyy-MM-dd");

    String formattedDate = date_of_today.format(format_date_of_today);
    System.out.println("Output after formatting: " + formattedDate);
  }
}

Production :

Output before formatting: 2022-01-01T10:46:21.449669400
Output after formatting: 2022-01-01

Notez que nous pouvons obtenir la sortie au format yyyy-MM-dd en utilisant le formatage. Nous pouvons également déplacer les valeurs de tous ces formats.

Par exemple, lorsque nous passons la chaîne yyyy-MM-dd dans la méthode ofPattern(), nous pouvons changer cette chaîne en yyyy-dd-MM ou dd-MM-yyyy ou de toute autre manière selon le besoin. Ceci s’applique à tous les formats fournis par la méthode ofPattern().

Nous utilisons une autre méthode ici - la méthode format(). La méthode format() formate une chaîne avec les paramètres régionaux, les arguments et le format donnés en Java.

Si nous ne spécifions pas la locale, la méthode format() appelle la méthode Locale.getDefault() pour obtenir la locale par défaut. La méthode format() fonctionne exactement comme la fonction printf().

Utiliser la classe SimpleDateFormat en Java

Pour obtenir la sortie au format yyyy-MM-dd, nous pouvons utiliser la classe SimpleDateFormat. Il fournit des méthodes pour formater (changer la date en chaîne) et analyser (changer la chaîne en date) la date et l’heure en Java.

En l’héritant, il fonctionne avec la classe java.text.DateFormat. Prenons un exemple.

import java.text.SimpleDateFormat;
import java.util.Date;
public class SimpleDateFormatDemo {
  public static void main(String[] args) {
    Date date_of_today = new Date();
    SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
    String stringDate = format.format(date_of_today);
    System.out.println(stringDate);
  }
}

Production :

2022-01-01

Pour en savoir plus sur la classe SimpleDateFormat en Java, reportez-vous à cette documentation.

Conclusion

Cet article a expliqué comment nous pourrions changer la date du calendrier au format yyyy-MM-dd en Java. Celles-ci incluent l’utilisation du package java.time, le formatage à l’aide de la méthode toPattern() et la classe SimpleDateFormat. Les différentes méthodes sont les méthodes toString() et now().

Nous pouvons obtenir la sortie au format yyyy-MM-dd et l’utiliser lorsque plusieurs dates sont incluses.

Article connexe - Java Date