Format de date de changement Java

Rashmi Patidar 12 octobre 2023
Format de date de changement Java

Il existe différentes options disponibles pour convertir une chaîne de date au format date. Ci-dessous sont mentionnés les moyens qui peuvent faire ressortir les résultats souhaités. Laissez-nous comprendre la variété des manières du bloc de code ci-dessous.

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.Locale;

public class StringToDateFormat {
  public static void main(String[] args) throws ParseException {
    System.out.print("Way1: ");
    SimpleDateFormat dt = new SimpleDateFormat("yyyyy-MM-dd");
    System.out.print(dt.parse("2021-11-05") + "\n");

    System.out.print("Way2: ");
    SimpleDateFormat formatter = new SimpleDateFormat("dd/MMM/yyyy HH:mm:ss", Locale.ENGLISH);
    System.out.print(formatter.parse("21/JAN/2021 21:35:56") + "\n");

    System.out.print("Way3: ");
    DateTimeFormatter formatter1 = DateTimeFormatter.ofPattern("EEE, d MMM yyyy", Locale.ENGLISH);
    System.out.print(LocalDate.parse("Wed, 5 May 2021", formatter1) + "\n");

    System.out.print("Way4: ");
    System.out.print(LocalDate.parse("2021-05-31") + "\n");
  }
}

Dans Way1, une instance de la classe SimpleDateFormat est créée. Il prend une valeur pattern du format dans lequel la chaîne de date est entrée. Nous avons donc ainsi saisi une date au format yyyy-MM-dd. L’instanciation lève également quelques exceptions comme NullPointerException et IllegalArgumentException si le paramètre est null ou illégal. Maintenant avec l’objet formatter récemment créé, nous initialisons une méthode parse. La méthode prend la chaîne de date comme valeur d’entrée et renvoie le type de données Date après l’analyse. Il lève ParseException lorsque la chaîne de date et le formateur donnés ne correspondent pas, ou en interne la chaîne de date n’est pas analysée.

Dans Way2, à nouveau la classe SimpleDateFormat est utilisée pour créer un format qui est censé entrer. Mais maintenant, un constructeur surchargé de SimpleDateFormat est appelé. Le premier paramètre est le format/pattern de la chaîne Date. Un autre est Locale qui définit une région ou une zone géographique spécifiée. Note: Tous les paramètres régionaux ne sont pas autorisés dans la méthode. Maintenant, vérifiez le modèle dd/MMM/yyyy HH:mm: ss qui avait un mois au format mmm. Le format implique que la sténographie des mois est acceptable sous la forme mmm. De plus, cela peut prendre des heures, des minutes et des secondes dans la chaîne de format.

Dans Way3, l’utilisation de la classe DateTimeFormat est faite pour formater et imprimer des objets date-heure. La méthode ofPattern permet de préparer un formateur du motif souhaité. Maintenant, la méthode statique de la classe LocalDate est appelée pour analyser la date. La méthode est parse qui prend le texte à analyser et DateTimeFormatter pour spécifier le format du texte de date d’entrée. La méthode renvoie l’instance LocalDate et n’est pas nulle. Il lève DateTimeParseException lorsque le texte ne peut pas être analysé. Le format peut également prendre le nom du jour. L’abréviation EEE désigne la même chose dans le formateur.

Dans Way4, directement la méthode parse qui est une méthode de fabrique statique de la classe LocalDate est appelée. Cette fois, aucune instance de formateur ou modèle n’est défini de quelque manière que ce soit. Maintenant, la fonction prend la chaîne de date d’entrée sous la forme yyyy-MM-dd. La chaîne de date spécifiée doit toujours représenter une date valide et est convertie au format DateTimeFormatter.ISO_LOCAL_DATE. La méthode lève l’exception DateTimeParseException lorsque le texte ne peut pas être analysé.

Ci-dessous se trouve la sortie du code pour convertir la chaîne de date dans le formulaire Date.

Way1: Fri Nov 05 00:00:00 IST 2021
Way2: Thu Jan 21 21:35:56 IST 2021
Way3: 2021-05-05
Way4: 2021-05-31
Rashmi Patidar avatar Rashmi Patidar avatar

Rashmi is a professional Software Developer with hands on over varied tech stack. She has been working on Java, Springboot, Microservices, Typescript, MySQL, Graphql and more. She loves to spread knowledge via her writings. She is keen taking up new things and adopt in her career.

LinkedIn

Article connexe - Java Date