Método instantáneo atZone() en Java con ejemplos

El método atZone(ZoneId zone) de la clase Instant se utiliza para combinar este instante 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 instante después de que la operación devuelva un objeto ZonedDateTime. Si el instante es demasiado grande para caber en una fecha y hora dividida en zonas, este método generará una excepción. Este método es el mismo que ZonedDateTime.ofInstant(this, zone) .

Sintaxis:

public ZonedDateTime atZone(ZoneId zone)

Parámetros: este método acepta una zona de parámetros que es la zona que se combinará con este objeto instantáneo. No debe ser nulo.

Valor devuelto: este método devuelve un ZonedDateTime que es la combinación de la zona actual de Instant y la zona pasada como parámetro.

Excepción: este método arroja una excepción DateTimeException si el instante es demasiado grande para caber en una fecha y hora dividida en zonas.

Los siguientes programas ilustran el método Instant.atZone():

Programa 1:

// Java program to demonstrate
// Instant.atZone() method
  
import java.time.*;
  
public class GFG {
    public static void main(String[] args)
    {
  
        // create an instance object
        Instant instant
            = Instant.parse("2018-10-20T16:55:30.00Z");
  
        // print Instant Value
        System.out.println("Instant: "
                           + instant);
  
        // create ZoneId object
        ZoneId zone = ZoneId.of("Europe/Paris");
  
        // apply atZone method of Instant class
        ZonedDateTime result = instant.atZone(zone);
  
        // print results
        System.out.println("ZonedDateTime: "
                           + result);
    }
}
Producción:

Instant: 2018-10-20T16:55:30Z
ZonedDateTime: 2018-10-20T18:55:30+02:00[Europe/Paris]

Programa 2:

// Java program to demonstrate
// Instant.atZone() method
  
import java.time.*;
  
public class GFG {
    public static void main(String[] args)
    {
  
        // create an instance object
        Instant instant
            = Instant.parse("2018-11-18T06:55:30.00Z");
  
        // print Instant Value
        System.out.println("Instant: "
                           + instant);
  
        // create ZoneId object
        ZoneId zone = ZoneId.of("Asia/Aden");
  
        // apply atZone method
        ZonedDateTime result
            = instant.atZone(zone);
  
        // print results
        System.out.println("ZonedDateTime: "
                           + result);
    }
}
Producción:

Instant: 2018-11-18T06:55:30Z
ZonedDateTime: 2018-11-18T09:55:30+03:00[Asia/Aden]

Programa 3:

// Java program to demonstrate
// Instant.atZone() method
  
import java.time.*;
  
public class GFG {
    public static void main(String[] args)
    {
  
        // create an instance object
        Instant instant
            = Instant.now();
  
        // print Instant Value
        System.out.println("Instant: "
                           + instant);
  
        // create ZoneId object
        ZoneId zone = ZoneId.of("Pacific/Midway");
  
        // apply atZone method
        ZonedDateTime result
            = instant.atZone(zone);
  
        // print results
        System.out.println("ZonedDateTime: "
                           + result);
    }
}
Producción:

Instant: 2018-11-22T08:11:48.029Z
ZonedDateTime: 2018-11-21T21:11:48.029-11:00[Pacific/Midway]

Referencias: https://docs.oracle.com/javase/10/docs/api/java/time/Instant.html#atZone(java.time.ZoneId)

Publicación traducida automáticamente

Artículo escrito por AmanSingh2210 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *