Java ZonedDateTime-klasse

De Java ZonedDateTime-klasse is een onveranderlijke representatie van een datum-tijd met een tijdzone. Het erft de Object-klasse en implementeert de ChronoZonedDateTime-interface.

De klasse ZonedDateTime wordt gebruikt om alle datum- en tijdvelden op te slaan, met een precisie van nanoseconden, en een tijdzone met een zone-offset die wordt gebruikt om dubbelzinnige lokale datum-tijden te verwerken.


Java ZonedDateTime-klassedeclaratie

Laten we de declaratie van de klasse java.time.ZonedDateTime bekijken.

 public final class ZonedDateTime extends Object implements Temporal, ChronoZonedDateTime, Serializable  

Methoden van Java ZonedDateTime

Methode Beschrijving
Tekenreeksindeling (DateTimeFormatter-formatter) Het wordt gebruikt om deze datum-tijd te formatteren met behulp van de opgegeven formatter.
int get(veld TijdelijkVeld) Het wordt gebruikt om de waarde van het opgegeven veld uit deze datum-tijd op te halen als een int.
ZoneId getZone() Het wordt gebruikt om de tijdzone op te halen, zoals 'Azië/Kolkata'.
ZonedDateTime withZoneSameInstant(ZoneId-zone) Het wordt gebruikt om een ​​kopie van deze datum-tijd terug te sturen met een andere tijdzone, waarbij het moment behouden blijft.
statisch ZonedDateTime nu() Het wordt gebruikt om de huidige datum-tijd te verkrijgen van de systeemklok in de standaardtijdzone.
statische ZonedDateTime of(LocalDate-datum, LocalTime-tijd, ZoneId-zone) Het wordt gebruikt om een ​​exemplaar van ZonedDateTime te verkrijgen van een lokale datum en tijd.
ZonedDateTime minus(lange amountToSubtract, TemporalUnit-eenheid) Het wordt gebruikt om een ​​kopie van deze datum-tijd terug te sturen, waarbij het opgegeven bedrag wordt afgetrokken.
ZonedDateTime plus(lange amountToAdd, TemporalUnit-eenheid) Het wordt gebruikt om een ​​kopie van deze datum-tijd terug te sturen met het opgegeven bedrag toegevoegd.

Java ZonedDateTime-klasse Voorbeeld

 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); } }  
Test het nu

Uitgang:

 2016-10-05T08:20:10+05:30[Asia/Kolkata]  

Java-klasse ZonedDateTime Voorbeeld: of() en 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); } }  
Test het nu

Uitgang:

 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 Voorbeeld: getZone()

 import java.time.ZonedDateTime; public class ZonedDateTimeExample3{ public static void main(String[] args) { ZonedDateTime zone =ZonedDateTime.now(); System.out.println(zone.getZone()); } }  
Test het nu

Uitgang:

 Asia/Kolkata  

Java ZonedDateTime-klasse Voorbeeld: 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); } }  
Test het nu

Uitgang:

 2016-09-15T12:54:01.354+05:30[Asia/Kolkata]  

Java ZonedDateTime-klasse Voorbeeld: 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); } }  
Test het nu

Uitgang:

 2017-05-25T12:56:12.417+05:30[Asia/Kolkata]