[英]Convert string with millisecond and timezone to Date
我有以下格式的字符串: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;
}
但是它显示出不可解析的错误吗?
尝试毫秒应为大写S :
SimpleDateFormat dateFormat = new SimpleDateFormat(“ yyyy-MM-dd'T'HH:mm:ss.SSSZ”);
毫秒应为大写S,Z应为单引号:
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'");
从Java 7开始,您可以使用
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSX");
X
代表ISO 8601时区 ,可以是Z
(零时区),也可以是-08
, -0800
或-08:00
。 另请参见SimpleDateFormat的javadoc中给出的表。
尝试
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'");
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.