Saltar al contenido

Java SimpleDateFormat (“aaaa-MM-dd’T’HH: mm: ss’Z ‘”) da la zona horaria como IST

Solución:

No estableciste la zona horaria, solo agregaste un Z hasta el final de la fecha / hora, por lo que se verá como una fecha / hora GMT, pero esto no cambia el valor.

Establezca la zona horaria en GMT y será correcta.

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'");
sdf.setTimeZone(TimeZone.getTimeZone("GMT"));

'T' y 'Z' se consideran aquí como constantes. Tienes que pasar Z sin las comillas. Además, debe especificar la zona horaria en la cadena de entrada.

Ejemplo : 2013-09-29T18:46:19-0700
Y el formato como "yyyy-MM-dd'T'HH:mm:ssZ"

De la cadena ISO 8601 al objeto de fecha Java

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'");
sdf.setTimeZone(TimeZone.getTimeZone("GMT"));
sdf.parse("2013-09-29T18:46:19Z"); //prints-> Mon Sep 30 02:46:19 CST 2013

si no te pones TimeZone.getTimeZone("GMT") entonces saldrá Sun Sep 29 18:46:19 CST 2013

Desde el objeto de fecha Java a la cadena ISO 8601

Y convertir Dateobjetar a la norma ISO 8601 (yyyy-MM-dd'T'HH:mm:ss'Z') usa el siguiente código

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'", Locale.US);
sdf.setTimeZone(TimeZone.getTimeZone("GMT"));           
System.out.println(sdf.format(new Date())); //-prints-> 2015-01-22T03:23:26Z

También tenga en cuenta que sin ' ' en Z yyyy-MM-dd'T'HH:mm:ssZ huellas dactilares 2015-01-22T03:41:02+0000

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

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