String in Zeitstempel konvertieren in Java
-
Verwenden von
TimeStamp.valueOf()
zum Konvertieren einer Zeichenkette in einen Zeitstempel in Java -
Mit
Date.getTime()
einen String in einen Zeitstempel in Java konvertieren - Konvertieren von String-Datum in Zeitstempel mit dem Zeitstempel-Konstruktor in Java
-
Datums-String in
Zeitstempel
mitLocalDate
in Java konvertieren -
Konvertieren von String-Datum in
Timestamp
mit deratStartOfDay()
Methode in Java
In diesem Artikel stellen wir zwei Methoden vor, um eine Zeichenkette in Java in einen Zeitstempel zu konvertieren. Ein Zeitstempel wird hauptsächlich in Datenbanken verwendet, um die genaue Zeit eines Ereignisses darzustellen. Die Klasse Timestamp
, die wir in diesem Tutorial verwenden werden, ist ein Teil des Pakets java.sql.Timestamp
.
Verwenden von TimeStamp.valueOf()
zum Konvertieren einer Zeichenkette in einen Zeitstempel in Java
Wir werden die eigene statische Funktion der Klasse TimeStamp
verwenden - valueOf()
. Sie nimmt eine Zeichenkette als Argument und wandelt sie dann in einen Zeitstempel um. Eine wichtige Sache, die es hier zu beachten gilt, ist das Format, in dem das Datum und die Uhrzeit in der Zeichenkette, die wir in einen Zeitstempel umwandeln wollen, geschrieben sind. Es ist auf ein festes Format beschränkt, nämlich yyyy-mm-dd hh:mm:ss
.
Wir können das Format nicht ändern und dann das richtige Ergebnis erwarten, aber wenn wir ein falsches Format verwenden, erhalten wir eine IllegalArgumentException
in der Ausgabe. Im folgenden Beispiel haben wir 2020-12-12 01:24:23
als Datum und Uhrzeit in der Zeichenkette verwendet, was dem korrekten Format von yyyy-mm-dd hh:mm:ss
entspricht.
Wir können nun dateTime
als einziges Argument der Methode valueOf(string)
übergeben, und sie wird einen String in einen Zeitstempel konvertieren.
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);
}
}
Ausgabe:
2020-12-12 01:24:23.0
Wir können die Einschränkungen bei der Datums- und Zeitformatierung loswerden, indem wir dieselbe valueOf()
-Methode verwenden, aber anstatt einen String direkt an die Methode zu übergeben, werden wir die Klasse LocalDateTime
verwenden. Denn valueOf()
akzeptiert eine LocalDateTime
als Argument.
Im folgenden Code hat dateTime
ein Datum und eine Uhrzeit, die dann mit der Methode ofPatter()
der Klasse DateTimeFormatter
formatiert wird. Wir können diesen Formatierer verwenden, um ein LocalDateTime
-Objekt mit der Funktion LocalDateTime.from()
zu parsen und zu erhalten.
Sobald wir ein LocalDateTime
-Objekt erhalten haben, können wir es an Timestamp.valueOf(localDateTime)
übergeben, um die Zeichenkette in einen Zeitstempel zu konvertieren.
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);
}
}
Ausgabe:
2020-10-01 06:43:21.0
Mit Date.getTime()
einen String in einen Zeitstempel in Java konvertieren
Die zweite Methode zur Konvertierung einer Zeichenkette in einen Zeitstempel verwendet mehrere Klassen und Methoden. Genau wie bei LocalDateTime
können wir unser Datums- und Zeitformat im String verwenden. Wir verwenden die Klasse SimpleDateFormate()
, um die Zeichenkette zu formatieren und sie dann in ein Date
-Objekt zu parsen.
Wir brauchen das Date
-Objekt, weil es das getTime()
-Objekt hat, das das Datum und die Uhrzeit als long
zurückgibt. Wir können diesen long
-Wert an den Konstruktor von Timestamp
übergeben, wie wir es unten getan haben.
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);
}
}
Ausgabe:
2020-01-10 06:43:21.0
Konvertieren von String-Datum in Zeitstempel mit dem Zeitstempel-Konstruktor in Java
Hier verwenden wir den Timestamp
-Konstruktor, um ein Timestamp
-Objekt zu erhalten. Zuerst verwenden wir die Klasse SimpleDateFormat
, um das Format von Datum
festzulegen und dann das Datumsobjekt mit der Methode parser()
zu erhalten, dann verwenden wir die Methode geteTime()
, um Zeit mit dem Datum zu addieren und als Ergebnis einen Zeitstempel
zu erhalten. Siehe das Beispiel unten.
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);
}
}
}
Ausgabe:
1990-10-12 00:00:00.0
Datums-String in Zeitstempel
mit LocalDate
in Java konvertieren
In Java 8 fügt es ein neues Paket java.time
hinzu, das mehrere Klassen zur Behandlung von Datum und Zeit enthält. Hier verwenden wir die LocalDate
-Klasse dieses Pakets. Wir verwenden die Methode parse()
der Klasse LocalDate
, um das Objekt LocalDate
aus der Datumszeichenkette zu erhalten, und dann die Methode atTime()
, um das Objekt LocalDateTime
zu erhalten, das ein Datum mit Uhrzeit zurückgibt. Die Methode now()
wird benutzt, um die aktuelle Zeit des Systems zu erhalten.
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);
}
}
Ausgabe:
2025-11-25
2025-11-25T09:44:56.814795
Konvertieren von String-Datum in Timestamp
mit der atStartOfDay()
Methode in Java
Die Methode atStartOfDay()
in der Klasse LocalDate
wird auch verwendet, um das Objekt LocalDateTime
zu erhalten. Diese Methode fügt die Zeit zum Datum am Anfang des Tages hinzu und gibt statt eines einfachen Datums eine Datumszeit
zurück. Siehe das Beispiel unten.
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);
}
}
Ausgabe:
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