Clase Java ZonedDateTime
La clase Java ZonedDateTime es una representación inmutable de una fecha y hora con una zona horaria. Hereda la clase Object e implementa la interfaz ChronoZonedDateTime.
La clase ZonedDateTime se utiliza para almacenar todos los campos de fecha y hora, con una precisión de nanosegundos, y una zona horaria con un desplazamiento de zona se utiliza para manejar fechas y horas locales ambiguas.
Declaración de clase Java ZonedDateTime
Veamos la declaración de la clase java.time.ZonedDateTime.
public final class ZonedDateTime extends Object implements Temporal, ChronoZonedDateTime, Serializable
Métodos de Java ZonedDateTime
| Método | Descripción |
|---|---|
| Formato de cadena (formateador DateTimeFormatter) | Se utiliza para formatear esta fecha y hora utilizando el formateador especificado. |
| int get(campo campo temporal) | Se utiliza para obtener el valor del campo especificado a partir de esta fecha y hora como un int. |
| Id de zona getZone() | Se utiliza para obtener la zona horaria, como 'Asia/Kolkata'. |
| ZonedDateTime con ZoneSameInstant (zona ZoneId) | Se utiliza para devolver una copia de esta fecha-hora con una zona horaria diferente, conservando el instante. |
| estático ZonedDateTime ahora() | Se utiliza para obtener la fecha y hora actual del reloj del sistema en la zona horaria predeterminada. |
| estático ZonedDateTime de (fecha LocalDate, hora LocalTime, zona ZoneId) | Se utiliza para obtener una instancia de ZonedDateTime a partir de una fecha y hora locales. |
| ZonedDateTime menos (cantidad larga para Substraer, unidad TemporalUnit) | Se utiliza para devolver una copia de esta fecha y hora con la cantidad especificada restada. |
| ZonedDateTime plus(cantidad larga para agregar, unidad TemporalUnit) | Se utiliza para devolver una copia de esta fecha y hora con la cantidad especificada agregada. |
Ejemplo de clase 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); } } Pruébalo ahora Producción:
2016-10-05T08:20:10+05:30[Asia/Kolkata]
Ejemplo de clase Java ZonedDateTime: of() y 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); } } Pruébalo ahora Producción:
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]
Ejemplo de clase 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()); } } Pruébalo ahora Producción:
Asia/Kolkata
Ejemplo de clase Java ZonedDateTime: menos()
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); } } Pruébalo ahora Producción:
2016-09-15T12:54:01.354+05:30[Asia/Kolkata]
Ejemplo de clase 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); } } Pruébalo ahora Producción:
2017-05-25T12:56:12.417+05:30[Asia/Kolkata]