Clasa Java ZonedDateTime
Clasa Java ZonedDateTime este o reprezentare imuabilă a unei date-ora cu un fus orar. Moștenește clasa Object și implementează interfața ChronoZonedDateTime.
Clasa ZonedDateTime este utilizată pentru a stoca toate câmpurile de dată și oră, cu o precizie de nanosecunde, și un fus orar cu un decalaj de zonă utilizat pentru a gestiona date-ora locale ambigue.
Declarație de clasă Java ZonedDateTime
Să vedem declarația clasei java.time.ZonedDateTime.
public final class ZonedDateTime extends Object implements Temporal, ChronoZonedDateTime, Serializable
Metode Java ZonedDateTime
| Metodă | Descriere |
|---|---|
| Format șir (formator DateTimeFormatter) | Este folosit pentru a formata această dată-oră folosind formatatorul specificat. |
| int get(câmp TemporalField) | Este folosit pentru a obține valoarea câmpului specificat de la această dată-oră ca un int. |
| ZoneId getZone() | Este folosit pentru a obține fusul orar, cum ar fi „Asia/Kolkata”. |
| ZonedDateTime withZoneSameInstant(ZoneId zone) | Este folosit pentru a returna o copie a acestei date-ora cu un alt fus orar, reținând momentul. |
| static ZonedDateTime acum() | Este folosit pentru a obține data și ora curentă de la ceasul sistemului din fusul orar implicit. |
| static ZonedDateTime of (data LocalDate, ora LocalTime, zona ZoneId) | Este folosit pentru a obține o instanță de ZonedDateTime de la o dată și o oră locale. |
| ZonedDateTime minus (cantitate lungăToSubtract, unitate TemporalUnit) | Este folosit pentru a returna o copie a acestei date-ora cu suma specificată scăzută. |
| ZonedDateTime plus (cantitate lungăToAdd, unitate TemporalUnit) | Este folosit pentru a returna o copie a acestei date-ora cu suma specificată adăugată. |
Exemplu de clasă 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); } } Testează-l acum Ieșire:
2016-10-05T08:20:10+05:30[Asia/Kolkata]
Clasa Java ZonedDateTime Exemplu: 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); } } Testează-l acum Ieșire:
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]
Clasa Java ZonedDateTime Exemplu: getZone()
import java.time.ZonedDateTime; public class ZonedDateTimeExample3{ public static void main(String[] args) { ZonedDateTime zone =ZonedDateTime.now(); System.out.println(zone.getZone()); } } Testează-l acum Ieșire:
Asia/Kolkata
Clasa Java ZonedDateTime Exemplu: 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); } } Testează-l acum Ieșire:
2016-09-15T12:54:01.354+05:30[Asia/Kolkata]
Clasa Java ZonedDateTime Exemplu: 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); } } Testează-l acum Ieșire:
2017-05-25T12:56:12.417+05:30[Asia/Kolkata]