"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Por qué SimpledateFormat ("yyyy-mm-dd't'hh: mm: ss'z '") muestra ist en lugar de UTC, y cómo puedo solucionarlo?

¿Por qué SimpledateFormat ("yyyy-mm-dd't'hh: mm: ss'z '") muestra ist en lugar de UTC, y cómo puedo solucionarlo?

Publicado el 2025-01-29
Navegar:149

Why Does SimpleDateFormat(

SimpleDateFormat ("yyyy-mm-dd't'hhh: mm: ss'z '") Problema: Mostrando IST TimeZone

En Java, la clase SimpleDateFormat le permite formatear y analizar las fechas de acuerdo con un patrón predefinido. Al usar el patrón "aaa yyy-mm-dd't'hh: mm: ss'z '", se espera que represente una fecha y hora en la zona horaria de UTC. Sin embargo, surge un problema al analizar dicha cadena.

Considere el siguiente código:

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'");
Date date = sdf.parse("2013-09-29T18:46:19Z");
System.out.println(date);

La salida esperada sería una fecha y hora en la zona horaria de UTC. Sin embargo, muchos usuarios han informado que en su lugar muestra una fecha y hora en la zona horaria IST (tiempo estándar indio). Esto lleva a la confusión y al manejo de la fecha incorrecta.

Solución: Establezca explícitamente el tiempo de tiempo

el problema surge porque el constructor SimpleDateFormat solo inicializa el patrón de fecha, pero no establece el establecido zona horaria explícitamente. Para corregir esto, debe establecer la zona horaria en UTC manualmente. Así es como lo hace:

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'");
sdf.setTimeZone(TimeZone.getTimeZone("GMT"));
Date date = sdf.parse("2013-09-29T18:46:19Z");
System.out.println(date);

configurando la zona de tiempo en GMT, el analizador SimpleDateFormat interpretará la cadena de entrada correctamente y mostrará la fecha y la hora en la zona horaria esperada

Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3