我有这种格式的字符串: 2017-04-06T09:29:12.225Z
我需要使用日期格式我试过:
private Date convertStringToDate(String dateString) {
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.sssZ");
Date convertedDate = new Date();
try {
convertedDate = dateFormat.parse(dateString);
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return convertedDate;
}
但是它显示了Unparsable错误?
答案 0 :(得分:2)
尝试毫秒应为大写 S :
SimpleDateFormat dateFormat = new SimpleDateFormat(“yyyy-MM-dd'T'HH:mm:ss.SSSZ”);
答案 1 :(得分:1)
毫秒应为大写字母S,Z应为单引号:
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'");
答案 2 :(得分:1)
从Java 7开始,您可以使用
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSX");
X
代表 ISO 8601时区,可能只是Z
(零时区)或类似-08
,{{ 1}}或-0800
。
另请参阅javadoc of SimpleDateFormat中的表格。
答案 3 :(得分:0)
尝试
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'");