Android 分析日期异常-不可解析的日期
我想这是一个很小的问题,但我看不出有什么问题:Android 分析日期异常-不可解析的日期,android,date,simpledateformat,Android,Date,Simpledateformat,我想这是一个很小的问题,但我看不出有什么问题: SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ"); String strDate = "2014-12-07T13:35:08.030Z"; try { return format.parse(strDate); } catch (ParseException e) { e.printStackTrace(); Log.e
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ");
String strDate = "2014-12-07T13:35:08.030Z";
try
{
return format.parse(strDate);
}
catch (ParseException e)
{
e.printStackTrace();
Log.e("Problem with formatting date", strDate);
}
我得到了java.text.ParseException:无法解析的日期:“2014-12-07T13:35:08.030Z”(偏移量19处)
你知道这里还有什么不对吗?你只是忘记了在SimpleDateFormat中Z的(')单引号:
“Z”而不是Z您只是忘记了在SimpleDateFormat中围绕Z的(')单引号:
“Z”而不是“Z”根据,Android SimpleDataFormat似乎不支持Z符号(它不是文字,而是UTC+00:00的有效ISO标识符和同义词)
因此,图案符号Z仅理解-0800之类的偏移,而不理解“Z”。仅仅使用撇号是不够的。如果输入以“Z”结尾,则还需要将时区显式设置为UTC各自的GMT+00:00。诸如此类(未经测试):
根据报告,Android SimpleDataFormat似乎不支持Z符号(它不是文字,而是UTC+00:00的有效ISO标识符和同义词)
因此,图案符号Z仅理解-0800之类的偏移,而不理解“Z”。仅仅使用撇号是不够的。如果输入以“Z”结尾,则还需要将时区显式设置为UTC各自的GMT+00:00。诸如此类(未经测试):
(“yyyy-MM-dd'T'HH:MM:ss.SSS'Z')代码>?只要看看这个链接,它可能会解决您的问题亲爱的(“yyyy-MM-dd'T'HH:MM:ss.SSS'Z')代码>?只要看看这个链接,它可能会解决你的问题亲爱的
String input = "2014-12-07T13:35:08.030Z";
SimpleDateFormat format;
if (input.endsWith("Z")) {
format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'");
format.setTimeZone(TimeZone.getTimeZone("GMT"));
} else {
format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ");
}
try {
return format.parse(input);
} catch (ParseException e) {
e.printStackTrace();
Log.e("Problem with formatting date", input);
}