java.util.Date ⇔ java.time.LocalDateTime-Konvertierung

Memo

Ein Hinweis zum Konvertieren zwischen java.util.Date und java.time.LocalDateTime.

Konvertieren Sie von java.util.Date in java.time.LocalDateTime

    /**
     *Von Datum in LocalDateTime konvertieren
     * @return
     */
    public LocalDateTime toLocalDateTime(Date date) {
        Instant instant = date.toInstant();
        ZonedDateTime zonedDateTime = instant.atZone(ZoneId.systemDefault());
        return zonedDateTime.toLocalDateTime();
    }

Wenn die Ausführungsumgebung und das Gebietsschema, das Sie abrufen möchten, in einer Webanwendung usw. unterschiedlich sind, geben Sie das Gebietsschema an, für das Sie die ZoneId erhalten möchten, wenn Sie in "ZonedDateTime" konvertieren.

//        ZonedDateTime zonedDateTime = instant.atZone(ZoneId.systemDefault());
        ZonedDateTime zonedDateTime = instant.atZone(ZoneId.of(ZoneId.SHORT_IDS.get("JST")));

Von LocalDateTime nach Date konvertieren

    /**
     *Von LocalDateTime nach Date konvertieren
     * @param localDateTime
     * @return
     */
    public Date toDate(LocalDateTime localDateTime) {
        ZonedDateTime zonedDateTime = localDateTime.atZone(ZoneId.systemDefault());
        Instant instant = zonedDateTime.toInstant();
        return Date.from(instant);
    }

Wenn sich die Ausführungsumgebung und das Gebietsschema, das Sie abrufen möchten, in einer Webanwendung usw. unterscheiden, enthält LocalDateTime keine Gebietsschemainformationen. Daher müssen Sie das Gebietsschema beim Abrufen der Instanz angeben.

//        LocalDateTime localDateTime = LocalDateTime.now();
        LocalDateTime localDateTime = LocalDateTime.now(ZoneId.of(ZoneId.SHORT_IDS.get("JST")));

Recommended Posts

java.util.Date ⇔ java.time.LocalDateTime-Konvertierung
Java 8 LocalDateTime-Typkonvertierung (String, java.util.Date)