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
0
lí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" />