Wie konvertiert LocalDateTime zu GregorianCalendar?

Warum ist es möglich, übergeben eine LocalDateTime Objekt in der ZonedDateTime.from() Methode, wenn es nicht möglich ist zu analysieren, eine einfache datetime, wie folgt?

@Test
public void test() throws Exception {
    GregorianCalendar.from(ZonedDateTime.from(LocalDateTime.parse("2016-08-31T23:00:59")));
}

Ergebnis:

java.time.DateTimeException: Unable to obtain ZonedDateTime from TemporalAccessor: 2016-08-31T23:00:59 of type java.time.LocalDateTime
    at java.time.ZonedDateTime.from(ZonedDateTime.java:565)
  • Fragen Sie, wie zu konvertieren, um ein GregorianCalendar oder sind Sie Fragen, warum es erlaubt Ihnen, um eine Umsetzung der TemporalAccessor - Schnittstelle und nur einer beschwert sich in der Laufzeit?
  • GeorgianCalendar erfordert eine Zeitzone, also eigentlich können Sie tun GregorianCalendar.from(ZonedDateTime.parse("2016-08-31T23:00:59+00:00")); Angabe einer Zeitzone. ZonedDateTime.from scheitern kann für verschiedene Arten von input und erwähnt, dass in der javadoc.
  • Das Diagramm zeigt Konvertierungen von alten Datum-Zeit-Klassen in java.die Zeit in meine Antwort zu Convert java.util.Datum, zu dem, was “java.Zeit" geben? die nützlich sein können. Außerdem finden Sie Beispiel-code Umwandlung in beide Richtungen.
  • das ist ein wirklich tolles Diagramm!
InformationsquelleAutor membersound | 2016-08-08
Schreibe einen Kommentar