Diese Anleitung befasst sich mit der Herausforderung, Datumsangaben im Format „EEE MMM dd HH:mm:ss ZZZ yyyy“ mithilfe von java.sql.Date
genau in eine MySQL-Datenbank einzufügen. Eine häufige Gefahr besteht darin, Methoden zu verwenden, die trotz fehlender expliziter Fehler zu falschen Datumswerten führen.
Die empfohlene Lösung nutzt das robuste java.time
Paket:
<code class="language-java">LocalDate date4 = ZonedDateTime .parse(date, DateTimeFormatter.ofPattern("EEE MMM dd HH:mm:ss zzz yyyy", Locale.ENGLISH)) .toLocalDate(); java.sql.Date date5 = java.sql.Date.valueOf(date4);</code>
Dieser Code analysiert effizient die Datumszeichenfolge, verarbeitet die Zeitzoneninformationen korrekt und konvertiert sie in ein LocalDate
, bevor er schließlich ein java.sql.Date
erstellt, das zum Einfügen in die Datenbank geeignet ist.
Wichtige Überlegungen:
Locale
immer Locale.ENGLISH
(hier DateTimeFormatter
) an, um Mehrdeutigkeiten zu vermeiden und eine konsistente Analyse über verschiedene Systeme hinweg sicherzustellen.Alternativ, wenn Sie SimpleDateFormat
bevorzugen (obwohl java.time
aufgrund seiner Klarheit und Robustheit im Allgemeinen bevorzugt wird):
<code class="language-java">SimpleDateFormat inputFormat = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy", Locale.ENGLISH); SimpleDateFormat outputFormat = new SimpleDateFormat("yyyy-MM-dd");</code>
Denken Sie daran, die Formatmuster („EEE MMM dd HH:mm:ss zzz yyyy“ und „yyyy-MM-dd“) sorgfältig an Ihre Eingabe und die gewünschte Ausgabe anzupassen, und achten Sie dabei genau auf die Groß-/Kleinschreibung von Buchstaben (wie definiert). in der SimpleDateFormat
-Dokumentation). Die Verwendung von java.time
wird jedoch aufgrund der verbesserten Fehlerbehandlung und Klarheit dringend empfohlen.
Das obige ist der detaillierte Inhalt vonWie konvertiere ich „EEE MMM dd HH:mm:ss ZZZ yyyy'-Daten in java.sql.Date für MySQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!