Ich möchte java.time.LocalDate
in java.util.Date
Typ konvertieren . Weil ich das Datum einstellen möchte JDateChooser
. Oder gibt es eine Datumsauswahl, die java.time
Datumsangaben unterstützt ?
372
Ich möchte java.time.LocalDate
in java.util.Date
Typ konvertieren . Weil ich das Datum einstellen möchte JDateChooser
. Oder gibt es eine Datumsauswahl, die java.time
Datumsangaben unterstützt ?
Antworten:
Dies setzt voraus, dass Ihre Datumsauswahl die Standardzeitzone des Systems verwendet, um Datumsangaben in Zeichenfolgen umzuwandeln.
quelle
atStartOfDay()
, da es den Wert des Datums ändert, wie ich es verstehe.Hier ist eine Utility-Klasse, mit der ich die neueren
java.time
Klassen injava.util.Date
Objekte konvertiere und umgekehrt:Bearbeitet basierend auf dem Kommentar von @Oliv.
quelle
ZoneId.systemDefault()
problematisch, da sich die Zeitzonen im Laufe des Jahres ändern. Wenn ich also am 01. Januar in der Zeitzone -05: 00 (zentral) bin, aber am 01. Juli in der Zeitzone -06: 00 (zentrales Tageslicht) bin, führt dies aufgrund der Sommerzeit nicht zu ungenauen Ergebnissen Zeit?Sie können die
java.sql.Date.valueOf()
Methode verwenden als:Hier müssen keine Zeit- und Zeitzoneninformationen hinzugefügt werden, da diese implizit übernommen werden.
Siehe LocalDate zu java.util.Date und umgekehrt einfachste Konvertierung?
quelle
java.sql.Date
ist für die Datenbankschicht JDBC, JPA gedacht. Die Webebene (oder eine Clientanwendung) sollte absolut frei von jeglichen Abhängigkeiten seinjava.sql.*
.java.sql.Date
ist nurjava.util.Date
mit seiner Zeit eingestellt,00:00:00
aber der Punkt in der Designperspektive ist, dassjava.sql.*
es nicht für eine vordere Ebene gedacht ist, mit der Clients wie Servlets / JSP interagieren.java.util.Date
auf der Java-Seite undjava.sql.Timestamp
oder was auch immerjava.sql.*
auf der JDBC-Seite anwendbar ist .java.sql.*
Klassen eine separate Abhängigkeit sein.java.time verfügt über die temporäre Schnittstelle, mit der Sie Instant-Objekte aus den meisten Zeitklassen erstellen können. Instant repräsentiert Millisekunden auf der Zeitachse in der Epoche - die Basisreferenz für alle anderen Daten und Zeiten.
Wir müssen das Datum in eine ZonedDateTime mit einer Uhrzeit und einer Zone konvertieren, um die Konvertierung durchzuführen:
quelle
Um ein java.util.Date aus einem java.time.LocalDate zu erstellen , müssen Sie
Der Code könnte wie folgt aussehen:
quelle
toEpochSecond
wird von geerbtjava.time.chrono.ChronoZonedDateTime
. Siehe docs.oracle.com/javase/8/docs/api/java/time/chrono/…Das funktioniert bei mir:
https://docs.oracle.com/javase/8/docs/api/java/time/LocalDate.html#toString--
quelle
Kotlin-Lösung:
1) Fügen Sie diese Erweiterungsfunktion irgendwo ein.
2) Verwenden Sie es und googeln Sie es nie wieder.
quelle
quelle
Einfach
quelle
quelle