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:
- 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.
- 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)); } }
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