Java日期时间格式转换
我的问题是:Java日期时间格式转换,java,date,timezone,date-format,simpledateformat,Java,Date,Timezone,Date Format,Simpledateformat,我的问题是: 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"))
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)
你能帮我解决这个问题吗?
谢谢。如果输出格式为UTC+1,则应在输出格式中使用该格式,而不是UTC
outFormatter.setTimeZone(TimeZone.getTimeZone("UTC+01:00"));
此外,如果您不想在末尾添加+0000,请删除Z
SimpleDateFormat outFormatter = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
我使用了一个服务器时区独立代码我不能让你的代码这么做。。。我有一个简短但完整的程序,基本上只有你的代码,它总是给我正确的价值。。。