Konvertieren ZonedDateTime zu LocalDateTime auf Zeitzone
Habe ich ein Objekt von ZonedDateTime
aufgebaut ist, wie dies
ZonedDateTime z = ZonedDateTime.of(LocalDate.now().atTime(11, 30), ZoneOffset.UTC);
Wie kann ich umwandeln LocalDateTime
an die Zeitzone der Schweiz? Das erwartete Ergebnis sollte 16 april 2018 13:30
.
Als ein beiseite, pass
ZoneId
zu LocalDate.now()
zu erhalten, vorhersagbare Ergebnisse. Es ist nie das gleiche Datum überall auf der Welt.InformationsquelleAutor Vitalii | 2018-04-16
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie konvertieren UTC -
ZonedDateTime
in eineZonedDateTime
mit dem Zeit-zone, der Schweiz, aber Beibehaltung der gleichen Augenblick in der Zeit, und dann bekommen dieLocalDateTime
aus, dass, wenn Sie benötigen. Ich würde versucht sein, es alsZonedDateTime
es sei denn, Sie benötigen es alsLocalDateTime
aus einem anderen Grund aber.InformationsquelleAutor Jon Skeet
Ausprobieren. Ersatz-UNS/zentrale mit Ihre Zeitzone.
InformationsquelleAutor Ravindra Ranwala
Hilft es zu verstehen, den Unterschied zwischen LocalDateTime und ZonedDateTime. Was Sie wirklich wollen, ist ein ZonedDateTime. Wenn Sie wollte, um zu entfernen Sie die Zeitzone aus der string-Darstellung, Sie würde konvertieren, um ein LocalDateTime.
Was du suchst ist:
ZonedDateTime swissZonedDateTime = withZoneSameInstant(amp; zoneid.("Europe/Zurich"));
LocalDateTime -dies ist im Grunde eine glorifizierte string-Darstellung von Datum und Uhrzeit; es ist die Zeitzone Agnostiker, was bedeutet, dass es nicht darstellen, einem beliebigen Punkt in der Zeit auf einer Zeitleiste
Sofortige - dies ist eine Millisekunde Darstellung von Zeit, die verstrichen ist, seit der EPOCHE. Dies stellt einen bestimmten Zeitpunkt auf einer Zeitleiste
ZonedDateTime - dies stellt auch einen Augenblick in der Zeit auf einer Zeitleiste, aber er stellt es als Datum und Zeit mit Zeitzone.
Den code unten zeigt, wie Sie alle 3.
Wenn Sie waren im Vergleich der Instant-Werte der beiden ZonedDateTimes von oben, wären Sie gleichwertig, da Sie beide auf das selben Augenblick in der Zeit. Irgendwo in Greenwich (UTC-Zeitzone) ist es mittags am Oktober 25th; in der gleichen Zeit, in New York wäre es 8 (America/New York Zeitzone).
InformationsquelleAutor Stevers