Establecer la zona horaria de un java.util.Date
-
Use
ZonedDateTime
para establecer la zona horaria de unjava.util.Date
-
Use
UTC Instant
para establecer la zona horaria de unjava.util.Date
Este tutorial rápido verá cómo usar Java para configurar la zona horaria asociada con una fecha. El java.util.Date
no tiene zona horaria.
Denota el estándar UTC/GMT sin diferencia de zona horaria. Porque al crear una representación de cadena, su función toString
utiliza la zona horaria predeterminada de la JVM como base para su aplicación.
Las clases integradas java.util.Date
, .Calendar
y java.text.SimpleDateFormat
son generalmente difíciles de usar y deben evitarse. Usaremos el paquete java.time
que viene estándar con Java 8 en su lugar.
A continuación se muestran las formas en que las clases java.time
pueden representar una zona horaria.
Use ZonedDateTime
para establecer la zona horaria de un java.util.Date
Aplicar una zona horaria, un desplazamiento y las pautas para tratar irregularidades como Horario de verano
o DST
es una mejor opción que la alternativa.
Cuando se utiliza un ZoneId
con un Instant
, se produce un ZonedDateTime
. Asegúrese siempre de utilizar el nombre correcto para la zona horaria.
Nunca deben utilizarse abreviaturas de tres o cuatro letras, como EST
, que no sean específicas ni estandarizadas.
ZoneId zId = ZoneId.of("Pakistan/Karachi");
ZonedDateTime zonedt = ZonedDateTime.ofInstant(instant, zId);
Use UTC Instant
para establecer la zona horaria de un java.util.Date
Instant
es el componente de construcción fundamental de java.time
. Representa un “instante” en la línea de tiempo que se mide en UTC
.
Implemente la mayor parte de la lógica de su aplicación utilizando objetos Instantáneos
.
Instant instant = Instant.now();
FechaHoraLocal
Cuando cualquier texto que se analiza no incluye ningún indicador de desplazamiento o zona, debe interpretarse como LocalDateTime
.
Si está seguro de la zona horaria que se debe usar, puede generar un ZonedDateTime
asignando un ZoneId
. Consulte el siguiente ejemplo de código.
LocalDateTime.parse("2022-09-10T01:13:15.123456789").atZone(ZoneId.of("Asia/Pakistan"))
I have been working as a Flutter app developer for a year now. Firebase and SQLite have been crucial in the development of my android apps. I have experience with C#, Windows Form Based C#, C, Java, PHP on WampServer, and HTML/CSS on MYSQL, and I have authored articles on their theory and issue solving. I'm a senior in an undergraduate program for a bachelor's degree in Information Technology.
LinkedIn