开发一个我需要解析以下日期的应用程序: 2015-02-02T11:21:51.895Z
使用SimpleDateFormat类。但是我得到了一个Date解析例外。 这是我的代码片段:
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-mm-dd'T'hh:mm:ss'Z'");`
Date qdate = new GregorianCalendar(0,0,0).getTime();
try {
qdate = sdf.parse(dt);
} catch (ParseException e) {
}
答案 0 :(得分:0)
关于您的输入" 2015-02-02T11:21:51.895Z"您应该看到您的假设模式与输入不匹配,因为模式不期望毫秒部分而是文字" Z"。
除此之外,由于以下原因,您使用的模式是错误的:
m = minute
M = month
h = hour of half day (1-12)
H = hour of full day (0-23)
X = timezone designator (because Z is not a literal but stands for UTC+00:00)
所以你需要(请同时参考javadoc):
YYYY-MM-DD' T' HH:MM:ss.SSSX
答案 1 :(得分:0)
您的格式存在错误(为毫秒添加.SSS
):
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-mm-dd'T'hh:mm:ss.SSS'Z'");
Date date = sdf.parse("2015-02-02T11:21:51.895Z");