Convertir une chaîne de caractères en Timestamp en Java
-
Utilisez
TimeStamp.valueOf()
pour convertir une chaîne en timestamp en Java -
Utilisez
Date.getTime()
pour convertir une chaîne de caractères en horodatage en Java
Dans cet article, nous allons présenter deux méthodes pour convertir une chaîne de caractères en un horodatage en Java. L’horodatage est principalement utilisé dans les bases de données pour représenter l’heure exacte d’un événement. La classe Timestamp
que nous utiliserons dans ce tutoriel est une partie du paquet java.sql.Timestamp
.
Utilisez TimeStamp.valueOf()
pour convertir une chaîne en timestamp en Java
Nous utiliserons la propre fonction statique de la classe TimeStamp
- valueOf()
. Elle prend une chaîne de caractères en argument et la convertit ensuite en un horodatage. Une chose importante à noter ici est de prendre soin du format dans lequel la date et l’heure sont écrites dans la chaîne que nous voulons convertir en un horodatage. Il est limité à un format fixe, qui est yyyy-mm-dd hh:mm:ss
.
Nous ne pouvons pas changer le format et espérer le bon résultat, mais si nous utilisons un format incorrect, nous obtiendrons une IllegalArgumentException
dans la sortie. Dans l’exemple ci-dessous, nous avons utilisé 2020-12-12 01:24:23
comme date et heure dans la chaîne, qui suit le format correct de yyyy-mm-dd hh:mm:ss
.
Nous pouvons maintenant passer dateTime
comme seul argument de la méthode valueOf(string)
, et elle convertira une chaîne en un horodatage.
import java.sql.Timestamp;
public class StringToTimeStamp {
public static void main(String[] args) {
String dateTime = "2020-12-12 01:24:23";
Timestamp timestamp = Timestamp.valueOf(dateTime);
System.out.println(timestamp);
}
}
Production :
2020-12-12 01:24:23.0
Nous pouvons nous débarrasser des restrictions de formatage de la date et de l’heure en utilisant la même méthode valueOf()
, mais au lieu de passer directement une chaîne à la méthode, nous utiliserons la classe LocalDateTime
. Parce que valueOf()
accepte un LocalDateTime
en argument.
Dans le code suivant, dateTime
a une date et une heure qui sont ensuite formatées en utilisant la méthode ofPatter()
de la classe DateTimeFormatter
. Nous pouvons utiliser ce formatteur pour analyser et obtenir un objet LocalDateTime
en utilisant la fonction LocalDateTime.from()
.
Une fois que nous obtenons un objet LocalDateTime
, nous pouvons le passer à Timestamp.valueOf(localDateTime)
pour convertir la chaîne en un horodatage.
import java.sql.Timestamp;
import java.text.ParseException;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
public class StringToTimeStamp {
public static void main(String[] args) throws ParseException {
String dateTime = "01/10/2020 06:43:21";
DateTimeFormatter formatDateTime = DateTimeFormatter.ofPattern("dd/MM/yyyy HH:mm:ss");
LocalDateTime localDateTime = LocalDateTime.from(formatDateTime.parse(dateTime));
Timestamp ts = Timestamp.valueOf(localDateTime);
System.out.println(ts);
}
}
Production :
2020-10-01 06:43:21.0
Utilisez Date.getTime()
pour convertir une chaîne de caractères en horodatage en Java
La deuxième méthode de conversion d’une chaîne en un horodatage utilise plusieurs classes et méthodes. Tout comme LocalDateTime
, nous pouvons utiliser notre format de date et d’heure dans la chaîne. Nous avons utilisé la classe SimpleDateFormate()
pour formater la chaîne et l’analyser pour obtenir un objet Date
.
Nous avons besoin de l’objet Date
car il possède l’objet getTime()
, qui renvoie la date et l’heure sous forme de long
. Nous pouvons passer cette valeur long
au constructeur de Timestamp
comme nous l’avons fait ci-dessous.
import java.sql.Timestamp;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class StringToTimeStamp {
public static void main(String[] args) throws ParseException {
String inDate = "01/10/2020 06:43:21";
DateFormat df = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss");
Date date = df.parse(inDate);
long time = date.getTime();
Timestamp ts = new Timestamp(time);
System.out.println(ts);
}
}
Production :
2020-01-10 06:43:21.0
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