INPUT:
SimpleDateFormat inFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ");
SimpleDateFormat outFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'");
String unformattedDate = "2013-11-16T08:46:00.000-06:00";
String formattedDate = outFormat.format(inFormat.parse(unformattedDate ));
超出输出:
formattedDate = "2013-11-16T20:16:00.000Z"
期望的输出:
formattedDate = "2013-11-16T08:46:00.000Z"
任何人都可以了解转换后为什么会出现这种差异以及如何获得所需的输出?
我认为我的inFormat
格式化日期unformattedDate
不正确。
答案 0 :(得分:1)
喜欢这个
String unformattedDate = "2013-11-16T08:46:00.000-06:00";
Date date = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss").parse(unformattedDate);
String formattedDate = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'").format(date);
System.out.println(formattedDate);
<强>输出强>
2013-11-16T08:46:00.000Z