Klasa Java ZonedDateTime jest niezmienną reprezentacją daty i godziny ze strefą czasową. Dziedziczy klasę Object i implementuje interfejs ChronoZonedDateTime.
Klasa ZonedDateTime służy do przechowywania wszystkich pól daty i godziny z dokładnością do nanosekund oraz strefy czasowej z przesunięciem strefy używanej do obsługi niejednoznacznych lokalnych dat i godzin.
Deklaracja klasy Java ZonedDateTime
Zobaczmy deklarację klasy java.time.ZonedDateTime.
ciąg Java do jsona
public final class ZonedDateTime extends Object implements Temporal, ChronoZonedDateTime, Serializable
Metody Java ZonedDateTime
metoda | Opis |
---|---|
Format ciągu (formatujący DateTimeFormatter) | Służy do formatowania daty i godziny przy użyciu określonego formatera. |
int get(pole TemporalField) | Służy do pobrania wartości określonego pola z tej daty i godziny jako liczba typu int. |
Identyfikator strefy getZone() | Służy do określania strefy czasowej, np. „Azja/Kalkuta”. |
ZonedDateTime withZoneSameInstant (strefa ZoneId) | Służy do zwracania kopii tej daty i godziny z inną strefą czasową, zachowując chwilę. |
statyczny ZonedDateTime teraz() | Służy do uzyskania aktualnej daty i godziny z zegara systemowego w domyślnej strefie czasowej. |
statyczny ZonedDateTime of (data LocalDate, czas lokalny, strefa ZoneId) | Służy do uzyskania instancji ZonedDateTime z lokalnej daty i godziny. |
ZonedDateTime minus(długa ilość do odjęcia, jednostka TemporalUnit) | Służy do zwracania kopii tej daty i godziny po odjęciu określonej kwoty. |
ZonedDateTime plus (długa ilość do dodania, jednostka TemporalUnit) | Służy do zwrócenia kopii tej daty i godziny z dodaną określoną kwotą. |
Przykład klasy 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); } }Przetestuj teraz
Wyjście:
2016-10-05T08:20:10+05:30[Asia/Kolkata]
Klasa Java ZonedDateTime Przykład: of() i 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); } }Przetestuj teraz
Wyjście:
wybierz wielostołowy sql
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]
Klasa Java ZonedDateTime Przykład: getZone()
import java.time.ZonedDateTime; public class ZonedDateTimeExample3{ public static void main(String[] args) { ZonedDateTime zone =ZonedDateTime.now(); System.out.println(zone.getZone()); } }Przetestuj teraz
Wyjście:
Asia/Kolkata
Klasa Java ZonedDateTime Przykład: 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); } }Przetestuj teraz
Wyjście:
2016-09-15T12:54:01.354+05:30[Asia/Kolkata]
Klasa Java ZonedDateTime Przykład: 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); } }Przetestuj teraz
Wyjście:
2017-05-25T12:56:12.417+05:30[Asia/Kolkata]