【发布时间】:2014-04-09 14:43:09
【问题描述】:
我正在使用struts2的<s:date>标签。
要将存储在 UTC 时间的 04/09/2014 11:40:17 日期转换为 IST 时间,我使用 struts2 date 标记如下:
<s:date name = "dateregistered"
format = "MM/dd/yyyy HH:mm:ss a"
timezone = "GMT+5.30" />
它总是给我日期:04/09/2014 06:10:17 AM。
预期的结果应该是:04/09/2014 05:10:17 PM。
我没有找到错误和错误的地方,我使用hibernate 获取并使用java.util.date 存储上面使用的值
数据存储和检索的过程:
我通过hibernate将值存储在mysql中:
TimeZone.setDefault(TimeZone.getTimeZone("Etc/UTC"));
user.setCreatedDateTime(new java.util.Date());
...
...
...
现在我从 DB 中获取值为 04/09/2014 11:40:17 。当我执行此插入时,实际时间是 04/09/2014 05:10:17 PM IST 。所以很清楚存储在DB中的时间是UTC时间。
现在我正在检索时间并将键值对中的映射设置为map.put("dateregistered",c.getCreatedDateTime());
user.getCreatedDateTime()
并使用上面提到的 struts 2 标记检索值
【问题讨论】:
标签: java date struts2 timezone utc