我在格式日期方面遇到问题,格式为“ 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 )两边都是相同的。
答案 0 :(得分:0)
您需要使用dtf.format(new Date(), timeZone);
方法并将所需的GWT TimeZone object传递给它。
更新:
请注意,不应使用偏移方法创建TimeZone对象。首先,它一般不是一个好主意,因为它不考虑夏令时转换。因此,根据日期,您可以休息一小时。其次,它不会给你你想要的时区(IST)。
您需要使用createTimeZone(java.lang.String tzJSON)
方法从TimeZoneConstants创建所需的时区。