GWT中的日期时间转换。动态显示IST而不是UTC + 5.30

时间:2014-08-13 10:22:01

标签: gwt timezone simpledateformat datetime-format

我在格式日期方面遇到问题,格式为“ 2014年8月13日星期三.03.41 PM IST ”。 我试过下面的代码,以所需的格式显示日期并显示时区。

我使用过的客户端

final DateTimeFormat dtf = DateTimeFormat.getFormat("EEEE, dd, MMM yyyy. hh.mm a z");
System.out.println(dtf.format(new Date()));

客户输出: - “2014年8月13日星期三。03.37 PM UTC + 5:30

我使用的服务器端

SimpleDateFormat sdf = new SimpleDateFormat("EEEE, dd, MMM yyyy. hh.mm a z");
System.out.println(sdf.format(date ));

服务器端OutPut是:“2014年8月13日星期三。03.37 PM IST

我需要服务器端输出( 2014年8月13日星期三.3.4.41 PM IST )两边都是相同的。

1 个答案:

答案 0 :(得分:0)

您需要使用dtf.format(new Date(), timeZone);方法并将所需的GWT TimeZone object传递给它。

更新:

请注意,不应使用偏移方法创建TimeZone对象。首先,它一般不是一个好主意,因为它不考虑夏令时转换。因此,根据日期,您可以休息一小时。其次,它不会给你你想要的时区(IST)。

您需要使用createTimeZone(java.lang.String tzJSON)方法从TimeZoneConstants创建所需的时区。