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 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