3
日在这里我的问题:的Java日期时间格式转换
String datetime = "2012-03-24 23:20:51";
我知道该字符串是在UTC时区。 我需要将此字符串转换为格式“yyy-mm-dd'T'HH:mm:ssZ”。
要做到这一点我用下面的代码:
SimpleDateFormat inFormatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
inFormatter.setTimeZone(TimeZone.getTimeZone("UTC"));
Date inDate = inFormatter.parse(datetime);
SimpleDateFormat outFormatter = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ");
outFormatter.setTimeZone(TimeZone.getTimeZone("UTC"));
String output = outFormatter.format(inDate);
的问题是,这个代码与时区UTC + 1,它给了我结果的服务器上运行的是这样的:
output = "2012-03-24T21:20:51+0000"
它从初始时间移除2小时并放置UTC时间戳(0000)。
你能帮我解决这个问题吗? 谢谢。
我编一个服务器时区 - indipendent代码 – Bagbyte 2012-03-24 22:53:24
我不能让你的代码做...我基本上只有你的代码有一个简短但完整的程序,它总是给我正确的价值... – 2012-03-24 22:55:02