java - Struts2 Date Tag TimeZone comportamiento
utc (1)
Estoy usando <s:date> etiqueta <s:date> de struts2.
Para convertir una fecha almacenada 04/09/2014 11:40:17 en hora UTC a hora IST , utilicé la etiqueta de date struts2 como se indica a continuación:
<s:date name = "dateregistered"
format = "MM/dd/yyyy HH:mm:ss a"
timezone = "GMT+5.30" />
y siempre me da la fecha: 04/09/2014 06:10:17 AM .
El resultado esperado debería ser: 04/09/2014 05:10:17 PM .
No estoy llegando a donde estoy equivocado y estoy cometiendo un error, estoy usando hibernate para buscar y java.util.date para almacenar el valor que se usa arriba
El proceso de cómo se almacenaron y recuperaron los datos:
Almacenaba el valor en mysql a través de Hibernate:
TimeZone.setDefault(TimeZone.getTimeZone("Etc/UTC"));
user.setCreatedDateTime(new java.util.Date());
...
...
...
Ahora recibo el valor de DB como 04/09/2014 11:40:17 . Cuando realicé esta inserción, el tiempo real fue 04/09/2014 05:10:17 PM IST . Por lo tanto, se borra que el tiempo que se almacena en DB es hora UTC.
Ahora estoy recuperando el tiempo y estableciendo en el mapa el par de valores clave como map.put("dateregistered",c.getCreatedDateTime());
user.getCreatedDateTime()
y recuperar el valor usando la etiqueta struts 2 como se mencionó anteriormente
- Uso
:lugar de.como separador; - Agregue un
0líder.
El TimeZone correcto para IST (Indian Standard Time) es UTC+05:30 , luego GMT+05:30 ;
<s:date name = "dateregistered"
format = "MM/dd/yyyy HH:mm:ss a"
timezone = "GMT+05:30" />