Android Can';t验证json中的日期字段
我有一些问题。 我有一个带有日期的json文件,其中我希望是“2017-05-15T19:30:00+01:00” 我希望使用SimpleDataFormat从服务器验证日期。我使用这种格式:“yyyy-MM-dd'T'HH:MM:ssZ” 当我解析预期日期时,一切看起来都很好,但如果我有无效的日期,例如,“15-05-2017T19:30:00+01:00”,我也没有解析异常Android Can';t验证json中的日期字段,android,json,Android,Json,我有一些问题。 我有一个带有日期的json文件,其中我希望是“2017-05-15T19:30:00+01:00” 我希望使用SimpleDataFormat从服务器验证日期。我使用这种格式:“yyyy-MM-dd'T'HH:MM:ssZ” 当我解析预期日期时,一切看起来都很好,但如果我有无效的日期,例如,“15-05-2017T19:30:00+01:00”,我也没有解析异常 我应该使用什么格式?谢谢。我假设您使用的是SimpleDataFormat日期解析(字符串文本,解析位置)。根据报告:
我应该使用什么格式?谢谢。我假设您使用的是SimpleDataFormat
日期解析(字符串文本,解析位置)
。根据报告:
返回值为:
从字符串中解析的日期。如果出现错误,则返回null
因此,您的案例不需要异常,而是一个空日期对象
编辑:
我只是偶然发现了这个。它说,如果要使解析更加严格,应该使用setLenient(false)
例如:
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ");
sdf.setLenient(false);
try {
date = sdf.parse("15-05-2017T19:30:00+01:00");
System.out.println("Rigorous date (won't be printed!): "+date);
} catch (ParseException e) {
e.printStackTrace();
}
例如,2007年11月17日星期五17:00:00 GMT+03:00 21我想我在另一个问题中找到了解决这个问题的方法。