Convertir une chaîne de caractères en objet DateTime en Java
-
Utilisez
SimpleDateFormat
etjava.util.Date
pour convertir une chaîne de date en un objet DateTime en Java - Utiliser la bibliothèque de dates et d’heures de Java 8 pour convertir une chaîne de date en format date-heure
-
Utilisez
joda-time
pour convertir une chaîne de date en format date-heure -
Convertir une chaîne de date en
Timestamp
avec le constructeurTimestamp
en Java -
Conversion de la chaîne de date en
Timestamp
avecLocalDate
en Java -
Convertir la chaîne de date en
Timestamp
avec la méthodeatStartOfDay()
en Java
Cet article présente la manière dont nous pouvons convertir une chaîne de caractères donnée en un objet DateTime
en utilisant différentes approches et exemples.
Utilisez SimpleDateFormat
et java.util.Date
pour convertir une chaîne de date en un objet DateTime en Java
SimpleDateFormat
est une classe utilisée pour analyser et formater une date de manière sensible au niveau local. Elle nous permet de convertir une chaîne de caractères en DateTime
et de convertir un objet DateTime
en une chaîne de caractères.
Dans le code ci-dessous, nous utilisons la chaîne date_time
, qui est analysée en appelant la méthode parse
sur l’instance SimpleDateFormat
dateParser
. Le format dans lequel nous voulons que la chaîne date_time
soit analysée est spécifié dans le constructeur de SimpleDateFormat
.
Nous avons également créé une nouvelle instance de la classe SimpleDateFormat
avec un format différent. La date analysée est alors formatée et imprimée.
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class StringToDateTime {
public static void main(String[] args) {
String date_time = "11/27/2020 05:35:00";
SimpleDateFormat dateParser = new SimpleDateFormat("MM/dd/yy HH:mm:ss");
{
try {
Date date = dateParser.parse(date_time);
System.out.println(date);
SimpleDateFormat dateFormatter = new SimpleDateFormat("MM/dd/yy");
System.out.println(dateFormatter.format(date));
} catch (ParseException e) {
e.printStackTrace();
}
}
}
}
Production :
Fri Nov 27 05 : 35 : 00 UTC 2020 11 / 27 / 20
Utiliser la bibliothèque de dates et d’heures de Java 8 pour convertir une chaîne de date en format date-heure
La classe LocaleDate
représente une date au format ISO
sans heure. La classe DateTimeFormatter
est utilisée pour analyser les dates dans différents formats. Nous pouvons fournir des modèles personnalisés en appelant la méthode ofPattern()
sur DateTimeFormatter
.
La méthode LocaleDate
a une méthode parse()
, qui prend la chaîne de texte personnalisée et un formatteur spécifique inputFormat
pour analyser et obtenir une instance LocalDate
. L’instance LocaleDate
obtenue date
est ensuite formatée et imprimée comme sortie.
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
public class Main {
public static void main(String[] args) {
DateTimeFormatter inputFormat = DateTimeFormatter.ofPattern("MM/dd/yyyy HH:mm:ss");
LocalDate date = LocalDate.parse("11/27/2020 05:35:00", inputFormat);
DateTimeFormatter outputFormat = DateTimeFormatter.ofPattern("MM/dd/yyyy");
System.out.println(date.format(outputFormat));
}
}
Production :
11/27/2020
Utilisez joda-time
pour convertir une chaîne de date en format date-heure
joda-time
est une bibliothèque standard DateTime
qui fournit un ensemble de méthodes pour calculer la date et l’heure. La dépendance de maven pour inclure la fonctionnalité de cette bibliothèque est donnée ci-dessous.
<!-- https://mvnrepository.com/artifact/joda-time/joda-time -->
<dependency>
<groupId>joda-time</groupId>
<artifactId>joda-time</artifactId>
<version>2.10.8</version>
</dependency>
DateTimeFormatter
peut analyser des représentations personnalisées de la date et de l’heure.
Nous créons une instance de formatage datetimeformat
avec un modèle personnalisé. En appelant parseDateTime
sur l’instance de formatage, on obtient un objet DateTime utilisant la chaîne personnalisée dateTime
.
Ici, nous avons créé une nouvelle instance de DateTimeFormatter
dateTimeFormatOut
avec un modèle personnalisé différent. La méthode print()
est appelée sur la nouvelle instance qui imprime l’objet DateTime joda_time
dans un nouveau format.
import org.joda.time.DateTime;
import org.joda.time.format.DateTimeFormat;
import org.joda.time.format.DateTimeFormatter;
public class StringToDateTime {
public static void main(String[] args) {
String dateTime = "11/27/2020 05:35:00";
DateTimeFormatter datetimeformat = DateTimeFormat.forPattern("MM/dd/yyyy HH:mm:ss");
DateTime joda_time = datetimeformat.parseDateTime(dateTime);
System.out.println("joda_time : " + joda_time);
DateTimeFormatter dateTimeFormatOut = DateTimeFormat.forPattern("MM/dd/yyyy");
System.out.println("date time format out: " + dateTimeFormatOut.print(joda_time));
}
}
Production :
joda_time : 2020-11-27T05:35:00.000+05:30
date time format out: 11/27/2020
Convertir une chaîne de date en Timestamp
avec le constructeur Timestamp
en Java
Ici, nous utilisons le constructeur Timestamp
pour obtenir un objet Timestamp
. Tout d’abord, nous utilisons la classe SimpleDateFormat
pour définir le format de la date
et ensuite nous obtenons l’objet date en utilisant la méthode parser()
, puis nous utilisons la méthode geteTime()
pour ajouter l’heure avec la date et obtenir un timestamp
comme résultat. Voir l’exemple ci-dessous.
import java.sql.Timestamp;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class SimpleTesting {
public static void main(String[] args) {
try {
DateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy");
Date date = dateFormat.parse("12/10/1990");
Timestamp timeStampDate = new Timestamp(date.getTime());
System.out.println(timeStampDate);
} catch (ParseException e) {
System.out.println(e);
}
}
}
Production:
1990-10-12 00:00:00.0
Conversion de la chaîne de date en Timestamp
avec LocalDate
en Java
En Java 8, il ajoute un nouveau paquet java.time
qui contient plusieurs classes pour traiter la date et l’heure. Ici, nous utilisons la classe LocalDate
de ce paquet. Nous utilisons la méthode parse()
de la classe LocalDate
pour obtenir l’objet LocalDate
à partir de la chaîne de date, puis nous utilisons la méthode atTime()
pour obtenir l’objet LocalDateTime
qui retourne une date avec l’heure. La méthode now()
est utilisée pour obtenir l’heure actuelle du système.
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;
public class SimpleTesting {
public static void main(String[] args) {
LocalDate date = LocalDate.parse("2025-11-25");
System.out.println(date);
LocalDateTime dateTime = date.atTime(LocalTime.now());
System.out.println(dateTime);
}
}
Production:
2025 - 11 - 25 2025 - 11 - 25T09 : 44 : 56.814795
Convertir la chaîne de date en Timestamp
avec la méthode atStartOfDay()
en Java
La méthode atStartOfDay()
dans la classe LocalDate
est également utilisée pour obtenir l’objet LocalDateTime
. Cette méthode ajoute l’heure à la date de début de journée et retourne une “date-heure” plutôt qu’une simple date. Voir l’exemple ci-dessous.
import java.time.LocalDate;
import java.time.LocalDateTime;
public class SimpleTesting {
public static void main(String[] args) {
String strDate = "2019-10-20";
LocalDate date = LocalDate.parse(strDate);
LocalDateTime dateTime = date.atStartOfDay();
System.out.println(dateTime);
}
}
Production:
2019-10-20T00:00
Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.
LinkedIn