Mit der Einführung des java.time-Pakets in Java 8 haben Entwickler dessen neue API für die Handhabung angenommen Datum und Uhrzeit. Unter seinen Klassen enthält LocalDateTime einen von der Zeitzone unabhängigen Datum-mit-Uhrzeit-Wert.
Legacy-Code basiert jedoch häufig auf der Klasse java.util.Date. Bei der Integration alter und neuer Codebasen ist eine Konvertierung zwischen diesen beiden Klassen erforderlich.
Konvertierungsansatz:
Von java.util.Date zu LocalDateTime:
Code:
Date in = new Date(); LocalDateTime ldt = LocalDateTime.ofInstant(in.toInstant(), ZoneId.systemDefault());
Von LocalDateTime zu java.util.Date:
Code:
LocalDateTime ldt = ... ZonedDateTime zdt = ldt.atZone(ZoneId.systemDefault()); Date output = Date.from(zdt.toInstant());
Hinweis zur Sommerzeit (DST):
Konvertierung von LocalDateTime in java.util .Date über ZonedDateTime kann aufgrund der Sommerzeit zu unerwartetem Verhalten führen. Bestimmte LocalDateTime-Werte sind möglicherweise nicht vorhanden oder treten bei Sommerzeitübergängen zweimal auf. Einzelheiten finden Sie im Javadoc für atZone(ZoneId).
Zusätzliche Überlegungen:
Das obige ist der detaillierte Inhalt vonWie konvertiert man zwischen java.time.LocalDateTime und java.util.Date?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!