Java SimpleDataFormat ParseException:不可解析的日期错误
我正在从XML解析此日期格式:=>“2011-12-06T07:41:14.016+00:00”,我得到以下错误:Java SimpleDataFormat ParseException:不可解析的日期错误,java,android,simpledateformat,Java,Android,Simpledateformat,我正在从XML解析此日期格式:=>“2011-12-06T07:41:14.016+00:00”,我得到以下错误: W/System.err(574):java.text.ParseException:不可解析的日期: “2011-12-06T07:41:14.016+00:00” 我肯定这是我正在使用的格式化语句,但我不知道它应该是什么 以下是我使用的声明: SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'hh:mm:ss
- W/System.err(574):java.text.ParseException:不可解析的日期: “2011-12-06T07:41:14.016+00:00”
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'hh:mm:ss.SSSZ:ss");
我知道如何为这部分创建格式:“2011-12-06T07:41:14…”,这是另一部分:=>“.016+00:00”,这让我感到困惑
我已经在这里寻找答案了:,在这里,但我担心我遗漏了一些基本的东西
对于特定日期格式的格式声明或相关资源,您是否有任何建议
非常感谢
"yyyy-MM-dd'T'HH:mm:ss.SSSZ" 2001-07-04T12:08:56.235-0700
结尾的:ss看起来不正确因为“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();
}
正如我链接的问题中的一个答案所示,您可以使用
String string = "2011-12-06T07:41:14.016+00:00";
Calendar cal = DatatypeConverter.parseDateTime(string);
你应该看看这个相关的问题!你太棒了!:-)这让我摆脱了困境。。。非常感谢!现在有另一种方法来进行日期解析,可以更好地处理日期格式的可变性。我看起来有一些,但它们很笨重。