SimpleDateFormat ParseException:无法解析的日期错误

Pro*_*ggi 5 java android simpledateformat

我正在从XML解析这个日期格式:=>" 2011-12-06T07:41:14.016 + 00:00 ",我收到此错误:

  • W/System.err(574):java.text.ParseException:Unparseable date:"2011-12-06T07:41:14.016 + 00:00"

我确定这是我正在使用的格式化声明,但我无法弄清楚它应该是什么......

这是我正在使用的声明:

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'hh:mm:ss.SSSZ:ss");
Run Code Online (Sandbox Code Playgroud)

我得到了如何创建这个部分的格式:" 2011-12-06T07:41:14 ....",这是另一部分:=>".016 + 00:00 "这就是我的循环.

我已经在这里寻找答案:Android SimpleDateFormat页面,这里是Oracle SimpleDateFormat页面,但我担心我遗漏了一些基本的东西......

您是否对该特定日期格式的正确格式声明或相关资源有任何建议?

非常感谢提前!

Nei*_*ssy 5

"Z"模式匹配+0000而不是+00:00,因此如果在解析之前删除最后一个":",那么它将起作用.

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'hh:mm:ss.SSSZ");
try {
  Date myDate = sdf.parse( "2011-12-06T07:41:14.016+00:00".replaceAll( "([0-9\\-T]+:[0-9]{2}:[0-9.+]+):([0-9]{2})", "$1$2" ) );
  System.out.println( myDate );
} catch (ParseException e) {
  e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)