El método atZone(ZoneId zone) de la interfaz ChronoLocalDateTime se utiliza para combinar este ChronoLocalDateTime con una zona horaria cuyo ZoneId se proporciona como parámetro para crear un objeto ZonedDateTime. Este método toma ZoneId como parámetro y combina la zona horaria con este ChronoLocalDateTime después de que la operación devuelva un objeto ChronoZonedDateTime.
Sintaxis:
ChronoZonedDateTime<D> atZone(ZoneId zone)
Parámetros: este método acepta una zona de parámetros que es la zona que se combinará con este objeto ChronoLocalDateTime. No debe ser nulo.
Valor devuelto: este método devuelve un ChronoZonedDateTime que es la combinación de la zona actual de ChronoLocalDateTime y la zona pasada como parámetro.
Los siguientes programas ilustran el método ChronoLocalDateTime.atZone():
Programa 1:
// Java program to demonstrate // ChronoLocalDateTime.atZone() method import java.time.*; import java.time.chrono.*; public class GFG { public static void main(String[] args) { // create an ChronoLocalDateTime object ChronoLocalDateTime date = LocalDateTime.parse("2018-12-06T19:21:12"); // print ChronoLocalDateTime Value System.out.println("ChronoLocalDateTime: " + date); // create ZoneId object ZoneId zone = ZoneId.of("Europe/Paris"); // apply atZone method of ChronoLocalDateTime class ChronoZonedDateTime result = date.atZone(zone); // print results System.out.println("ChronoZonedDateTime: " + result); } }
ChronoLocalDateTime: 2018-12-06T19:21:12 ChronoZonedDateTime: 2018-12-06T19:21:12+01:00[Europe/Paris]
Programa 2:
// Java program to demonstrate // ChronoLocalDateTime.atZone() method import java.time.*; import java.time.chrono.*; public class GFG { public static void main(String[] args) { // create an ChronoLocalDateTime object ChronoLocalDateTime date = LocalDateTime.parse("2018-12-06T19:21:12"); // print ChronoLocalDateTime Value System.out.println("ChronoLocalDateTime: " + date); // create ZoneId object ZoneId zone = ZoneId.of("Asia/Aden"); // apply atZone method ChronoZonedDateTime result = date.atZone(zone); // print results System.out.println("ChronoZonedDateTime: " + result); } }
ChronoLocalDateTime: 2018-12-06T19:21:12 ChronoZonedDateTime: 2018-12-06T19:21:12+03:00[Asia/Aden]
Referencia : https://docs.oracle.com/javase/9/docs/api/java/time/chrono/ChronoLocalDateTime.html#atZone-java.time.ZoneId-