Classe Java ZonedDateTime
La classe Java ZonedDateTime és una representació immutable d'una data i hora amb una zona horària. Hereta la classe Object i implementa la interfície ChronoZonedDateTime.
La classe ZonedDateTime s'utilitza per emmagatzemar tots els camps de data i hora, amb una precisió de nanosegons, i una zona horària amb un desplaçament de zona que s'utilitza per gestionar dates i hores locals ambigües.
Declaració de classe Java ZonedDateTime
Vegem la declaració de la classe java.time.ZonedDateTime.
public final class ZonedDateTime extends Object implements Temporal, ChronoZonedDateTime, Serializable
Mètodes de Java ZonedDateTime
| Mètode | Descripció |
|---|---|
| Format de cadena (formatejador de DataTimeFormatter) | S'utilitza per formatar aquesta data i hora utilitzant el formatador especificat. |
| int get(camp TemporalField) | S'utilitza per obtenir el valor del camp especificat a partir d'aquesta data-hora com a int. |
| ZoneId getZone() | S'utilitza per obtenir la zona horària, com ara 'Àsia/Kolkata'. |
| ZonedDateTime ambZoneSameInstant (ZoneId zona) | S'utilitza per retornar una còpia d'aquesta data-hora amb una zona horària diferent, conservant l'instant. |
| ZonedDateTime estàtic ara () | S'utilitza per obtenir la data i hora actual del rellotge del sistema a la zona horària predeterminada. |
| ZonedDateTime estàtic de (data LocalDate, hora LocalTime, zona ZoneId) | S'utilitza per obtenir una instància de ZonedDateTime a partir d'una data i hora locals. |
| ZonedDateTime menys (quantitat llargaToSubtract, unitat TemporalUnit) | S'utilitza per retornar una còpia d'aquesta data i hora amb la quantitat especificada restada. |
| ZonedDateTime més (quantitat llargaToAdd, unitat TemporalUnit) | S'utilitza per retornar una còpia d'aquesta data i hora amb l'import especificat afegit. |
Exemple de classe 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); } } Prova-ho ara Sortida:
2016-10-05T08:20:10+05:30[Asia/Kolkata]
Classe Java ZonedDateTime Exemple: 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); } } Prova-ho ara Sortida:
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]
Classe Java ZonedDateTime Exemple: getZone()
import java.time.ZonedDateTime; public class ZonedDateTimeExample3{ public static void main(String[] args) { ZonedDateTime zone =ZonedDateTime.now(); System.out.println(zone.getZone()); } } Prova-ho ara Sortida:
Asia/Kolkata
Classe Java ZonedDateTime Exemple: 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); } } Prova-ho ara Sortida:
2016-09-15T12:54:01.354+05:30[Asia/Kolkata]
Classe Java ZonedDateTime Exemple: 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); } } Prova-ho ara Sortida:
2017-05-25T12:56:12.417+05:30[Asia/Kolkata]