Konvertieren von Zeichenketten in Zeitstempel
Das Konvertieren von Zeichenketten in Zeitstempel (timestamps) ist eine häufige Aufgabe in Java-Anwendungen, insbesondere wenn es um Datums- und Uhrzeitdaten aus verschiedenen Quellen geht, wie Benutzereingaben, Datenbankaufzeichnungen oder API-Antworten.
Die Klasse java.time.format.DateTimeFormatter
ist das primäre Werkzeug zum Konvertieren von Zeichenketten in Zeitstempel in Java. Sie bietet eine Vielzahl von vordefinierten und anpassbaren Formaten, die zum Parsen von Eingabezeichenketten verwendet werden können.
Beispiel:
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
public class StringToTimestampExample {
public static void main(String[] args) {
String dateString = "2023-04-11 11:37:25";
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
LocalDateTime dateTime = LocalDateTime.parse(dateString, formatter);
System.out.println("Parsed date and time: " + dateTime);
}
}
Ausgabe:
Parsed date and time: 2023-04-11T11:37:25
In diesem Beispiel verwenden wir die Methode DateTimeFormatter.ofPattern()
, um einen Formatter mit dem Muster "yyyy-MM-dd HH:mm:ss" zu erstellen. Anschließend übergeben wir die Eingabezeichenkette und den Formatter an die Methode LocalDateTime.parse()
, um die Zeichenkette in ein LocalDateTime
-Objekt zu konvertieren.
Wenn Sie mehrere Datumsformate behandeln müssen, können Sie die im vorherigen Abschnitt besprochene Fallback-Strategie verwenden, bei der Sie versuchen, die Eingabezeichenkette mit mehreren Formaten zu parsen, bis eines erfolgreich ist.
Beispiel:
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.time.format.DateTimeParseException;
public class MultipleFormatExample {
public static void main(String[] args) {
String dateString = "04/11/2023 11:37:25";
LocalDateTime dateTime = parseDate(dateString, "yyyy-MM-dd HH:mm:ss", "MM/dd/yyyy HH:mm:ss");
System.out.println("Parsed date and time: " + dateTime);
}
private static LocalDateTime parseDate(String dateString, String... formats) {
for (String format : formats) {
try {
return LocalDateTime.parse(dateString, DateTimeFormatter.ofPattern(format));
} catch (DateTimeParseException e) {
// Ignore and try the next format
}
}
return LocalDateTime.now(); // Return a default value if all formats fail
}
}
Ausgabe:
Parsed date and time: 2023-04-11T11:37:25
In diesem Beispiel versucht die Methode parseDate()
, die Eingabezeichenkette mit zwei verschiedenen Datumsformaten zu parsen: "yyyy-MM-dd HH:mm:ss" und "MM/dd/yyyy HH:mm:ss". Wenn keines der Formate funktioniert, gibt sie das aktuelle Datum und die aktuelle Uhrzeit als Fallback zurück.
Indem Sie die Grundlagen der Datums- und Uhrzeitbehandlung in Java sowie Techniken zur Behandlung ungültiger Datumsformate verstehen, können Sie in Ihren Java-Anwendungen effektiv Zeichenketten in Zeitstempel konvertieren.