我生成的XML格式包含有效的XML
格式的日期,我还需要它包含UTC
偏移量。格式化XML的日期以包括UTC偏移量
我尤斯groovy
,但我会告诉我使用而不是Java
代码(在两种语言的答案是好的):
Calendar c = Calendar.getInstance();
long timeZoneOffset = c.timeZone.getOffset(c.getTimeInMillis())/(1000*60*60);
SimpleDateFormat formatter = new java.text.SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
formatter.format(c.getTime()) + "+0" + timeZoneOffset + ":00";
上面的代码give4s我2011-06-12T07:23:25.000+03:00
,但是这个代码有两个问题:
- 这是丑陋的,并且可能不是最好的方式做到这一点
- 它不会像印度时区工作(GMT +5:30),尼泊尔(GMT +5:45)
我试着用new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss Z")
的时区,但它给了我2011-06-12T07:23:25.000+0300
这是不正确的格式(+0300
代替的+03:00
)。
以我需要的方式格式化日期的其他方法? (最好没有第三方)
谢谢 - 这是最简单的解决方案,可在任何地方安装JRE6。 – RonK 2011-06-12 12:23:22