Clase java.time.ZoneId en Java

Se usa un ZoneId para identificar las reglas que se usaron para convertir entre un LocalDateTime y un Instant de tiempo. Las reglas reales, que describen cuándo y cómo cambia el desplazamiento, están definidas por ZoneRules. Esta clase es solo una identificación utilizada para obtener las reglas subyacentes. Se ha optado por el enfoque dado porque el gobierno define las reglas y las modifica con frecuencia, mientras que el DNI es estable.

Hay dos tipos distintos de identificación:

  1. Las compensaciones fijas son una compensación completamente resuelta de UTC/Greenwich, que utiliza la misma compensación para todas las fechas y horas locales.
  2. Las regiones geográficas son un vecindario donde se aplica un conjunto seleccionado de reglas para ubicar el desplazamiento de UTC/Greenwich

Declaración de la clase java.time.ZoneId

Clase pública abstracta ZoneId extiende Objeto implementa Serializable  

Se anula un mapa de zonas para permitir que se utilicen los nombres cortos de zonas horarias. El uso de ID de zona cortos ha quedado obsoleto en java.util.TimeZone . Este mapa permite que los ID se sigan utilizando a través del método de fábrica of(String, Map). Este mapa contiene una asignación de ID que está en línea con TZDB 2005r y posterior, donde ‘EST’, ‘MST’ y ‘HST’ se asignan a ID que no incluyen el horario de verano.

Esto mapea de la siguiente manera:

est

05:00

HST 

10:00

MST 

07:00

ACTUAR 

Australia/Darwin

AET 

Australia/Sídney

AGT 

América/Argentina/Buenos Aires

ARTE

África/El Cairo

AST 

América/Anclaje

APUESTA 

América/Sao_Paulo

BST 

Asia/Daca

GATO 

África/Harare

CNT 

América/St_Johns

CST 

América/Chicago

CTT 

Asia/Shanghái

COMER 

África/Addis_Abeba

TEC 

Europa/París

IET 

Estados Unidos/Indiana/Indianápolis

IST 

Asia/Calcuta

JST 

Asia/Tokio

MIT 

Pacífico/Apia

RED 

Asia/Ereván

NST 

Pacífico/Auckland

plt 

Asia/Karachi

PNT

América/Fénix

PRT 

América/Puerto_Rico

hora del Pacífico 

América/Los_Ángeles

acero inoxidable 

Pacífico/Guadalcanal
VST  Asia/Ho_Chi_Minh

Nota: El mapa no se puede modificar.

Métodos de la clase ZoneId:

Métodos Descripción
es igual a (Objeto obj) Este método comprueba si este ID de zona horaria es igual a otro ID de zona horaria.
from(Acceso temporal temporal) Este método obtiene una instancia de ZoneId de un objeto temporal.
getAvailableZoneIds() Este método obtiene el conjunto de ID de zona disponibles.
getDisplayName(estilo TextStyle, configuración regional) Este método obtiene la representación textual de la zona, como ‘Hora británica’ o ‘+02:00’.
obtenerId() Este método obtiene la ID de zona horaria única.
obtenerReglas() Este método obtiene las reglas de zona horaria para este ID que permite realizar los cálculos.
código hash() Un código hash para este ID de zona horaria.
normalizado() Este método normaliza el Id. de la zona horaria y devuelve un ZoneOffset cuando es posible.
de(String zoneId) Este método obtiene una instancia de ZoneId de una identificación que garantiza que la identificación sea válida y esté disponible para su uso.
of(String zoneId, Map<String,String> aliasMap) Este método obtiene una instancia de ZoneId usando su ID usando un mapa de alias para complementar los ID de zona estándar.
ofOffset (prefijo de string, compensación de ZoneOffset) Este método obtiene una instancia de ZoneId que envuelve un desplazamiento.
sistema por defecto() Este método obtiene la zona horaria predeterminada del sistema.
Enstringr() Este método genera esta zona como una string, utilizando el ID.

A continuación se muestra un ejemplo de la implementación de algunos métodos:

Java

// java.time.ZoneId Class in Java with example
import java.time.*;
public class GFG {
    public static void main(String[] args)
    {
  
        // Setting Zone1
        ZoneId zoneid1 = ZoneId.of("Asia/Kolkata");
        // Setting Zone2
        ZoneId zoneid2 = ZoneId.of("Europe/London");
        LocalTime time1 = LocalTime.now(zoneid1);
        LocalTime time2 = LocalTime.now(zoneid2);
        System.out.println(time1);
        System.out.println(time2);
  
        // Checking if the time of zone1
        // comes before time of second zone
        System.out.println(time1.isBefore(time2));
    }
}
Producción

22:34:11.044312
17:04:11.044385
false

Publicación traducida automáticamente

Artículo escrito por mayanktyagi1709 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 *