logo

Java ZonedDateTime клас

Класът ZonedDateTime на Java е неизменно представяне на дата-час с часова зона. Той наследява класа Object и имплементира интерфейса ChronoZonedDateTime.

Класът ZonedDateTime се използва за съхраняване на всички полета за дата и час с точност до наносекунди и часова зона с отместване на зоната, използвана за обработка на двусмислени местни дати и часове.


Декларация на клас Java ZonedDateTime

Нека да видим декларацията на класа java.time.ZonedDateTime.

изтриване на последния ангажимент git
 public final class ZonedDateTime extends Object implements Temporal, ChronoZonedDateTime, Serializable 

Методи на Java ZonedDateTime

Метод Описание
Формат на низ (DateTimeFormatter форматиране) Използва се за форматиране на тази дата-час с помощта на посочения форматиращ инструмент.
int get (поле TemporalField) Използва се за получаване на стойността на посоченото поле от тази дата-час като int.
ZoneId getZone() Използва се за получаване на часовата зона, като например „Азия/Колката“.
ZonedDateTime withZoneSameInstant(ZoneId зона) Използва се за връщане на копие на тази дата-час с различна часова зона, като се запазва момента.
статичен ZonedDateTime сега() Използва се за получаване на текущата дата-час от системния часовник в часовата зона по подразбиране.
статичен ZonedDateTime от (дата на LocalDate, време на LocalTime, ZoneId зона) Използва се за получаване на екземпляр на ZonedDateTime от локална дата и час.
ZonedDateTime минус (дълго сума за изваждане, единица TemporalUnit) Използва се за връщане на копие от тази дата-час с извадена посочената сума.
ZonedDateTime плюс (дълго сума за добавяне, единица TemporalUnit) Използва се за връщане на копие от тази дата-час с добавената посочена сума.

Java ZonedDateTime клас Пример

 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); } } 
Тествайте сега

Изход:

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

Java ZonedDateTime клас Пример: of() и 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); } } 
Тествайте сега

Изход:

сравнение на java
 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 клас Пример: getZone()

 import java.time.ZonedDateTime; public class ZonedDateTimeExample3{ public static void main(String[] args) { ZonedDateTime zone =ZonedDateTime.now(); System.out.println(zone.getZone()); } } 
Тествайте сега

Изход:

 Asia/Kolkata 

Java ZonedDateTime клас Пример: 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); } } 
Тествайте сега

Изход:

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

Java ZonedDateTime клас Пример: 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); } } 
Тествайте сега

Изход:

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