Die Java-Klasse ZonedDateTime ist eine unveränderliche Darstellung eines Datums und einer Uhrzeit mit einer Zeitzone. Es erbt die Object-Klasse und implementiert die ChronoZonedDateTime-Schnittstelle.
Die ZonedDateTime-Klasse wird zum Speichern aller Datums- und Zeitfelder mit einer Genauigkeit von Nanosekunden sowie einer Zeitzone mit einem Zonenversatz verwendet, der zur Verarbeitung mehrdeutiger lokaler Datums- und Uhrzeitangaben verwendet wird.
Deklaration der Java ZonedDateTime-Klasse
Sehen wir uns die Deklaration der Klasse java.time.ZonedDateTime an.
Windows-Befehl arp
public final class ZonedDateTime extends Object implements Temporal, ChronoZonedDateTime, Serializable
Methoden von Java ZonedDateTime
Methode | Beschreibung |
---|---|
String-Format (DateTimeFormatter-Formatierer) | Es wird verwendet, um dieses Datum und die Uhrzeit mit dem angegebenen Formatierungsprogramm zu formatieren. |
int get(TemporalField-Feld) | Es wird verwendet, um den Wert des angegebenen Felds aus diesem Datum/Uhrzeit-Wert als Ganzzahl abzurufen. |
ZoneId getZone() | Es wird verwendet, um die Zeitzone abzurufen, z. B. „Asien/Kolkata“. |
ZonedDateTime withZoneSameInstant(ZoneId Zone) | Es wird verwendet, um eine Kopie dieses Datums und dieser Uhrzeit mit einer anderen Zeitzone zurückzugeben und dabei den Zeitpunkt beizubehalten. |
static ZonedDateTime now() | Es wird verwendet, um das aktuelle Datum und die aktuelle Uhrzeit von der Systemuhr in der Standardzeitzone abzurufen. |
static ZonedDateTime of(LocalDate-Datum, LocalTime-Zeit, ZoneId-Zone) | Es wird verwendet, um eine Instanz von ZonedDateTime aus einem lokalen Datum und einer lokalen Uhrzeit abzurufen. |
ZonedDateTime minus(long amountToSubtract, TemporalUnit-Einheit) | Es wird verwendet, um eine Kopie dieses Datums und dieser Uhrzeit zurückzugeben, wobei der angegebene Betrag abgezogen wurde. |
ZonedDateTime plus(long amountToAdd, TemporalUnit-Einheit) | Es wird verwendet, um eine Kopie dieses Datums und dieser Uhrzeit mit dem angegebenen hinzugefügten Betrag zurückzugeben. |
Beispiel für die Java ZonedDateTime-Klasse
import java.time.ZonedDateTime; public class ZonedDateTimeExample1{ public static void main(String[] args) { ZonedDateTime zone = ZonedDateTime.parse('2016-10-05T08:20:10+05:30[Asia/Kolkata]'); System.out.println(zone); } }Testen Sie es jetzt
Ausgabe:
2016-10-05T08:20:10+05:30[Asia/Kolkata]
Java ZonedDateTime-Klasse Beispiel: of() und withZoneSameInstant()
import java.time.*; public class ZonedDateTimeExample2{ public static void main(String[] args) { LocalDateTime ldt = LocalDateTime.of(2017, Month.JANUARY, 19, 15, 26); ZoneId india = ZoneId.of('Asia/Kolkata'); ZonedDateTime zone1 = ZonedDateTime.of(ldt, india); System.out.println('In India Central Time Zone: ' + zone1); ZoneId tokyo = ZoneId.of('Asia/Tokyo'); ZonedDateTime zone2 = zone1.withZoneSameInstant(tokyo); System.out.println('In Tokyo Central Time Zone:' + zone2); } }Testen Sie es jetzt
Ausgabe:
In India Central Time Zone: 2017-01-19T15:26+05:30[Asia/Kolkata] In Tokyo Central Time Zone:2017-01-19T18:56+09:00[Asia/Tokyo]
Java ZonedDateTime-Klasse Beispiel: getZone()
import java.time.ZonedDateTime; public class ZonedDateTimeExample3{ public static void main(String[] args) { ZonedDateTime zone =ZonedDateTime.now(); System.out.println(zone.getZone()); } }Testen Sie es jetzt
Ausgabe:
Asia/Kolkata
Java ZonedDateTime-Klasse Beispiel: minus()
import java.time.Period; import java.time.ZonedDateTime; public class ZonedDateTimeExample4 { public static void main(String[] args) { ZonedDateTime zone= ZonedDateTime.now(); ZonedDateTime m = zone.minus(Period.ofDays(126)); System.out.println(m); } }Testen Sie es jetzt
Ausgabe:
Alphabet in Zahlen
2016-09-15T12:54:01.354+05:30[Asia/Kolkata]
Java ZonedDateTime-Klasse Beispiel: plus()
import java.time.*; public class ZonedDateTimeExample5{ public static void main(String[] args) { ZonedDateTime zone= ZonedDateTime.now(); ZonedDateTime p = zone.plus(Period.ofDays(126)); System.out.println(p); } }Testen Sie es jetzt
Ausgabe:
2017-05-25T12:56:12.417+05:30[Asia/Kolkata]