Android Can';t验证json中的日期字段

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日期解析(字符串文本,解析位置)。根据报告:

我有一些问题。 我有一个带有日期的json文件,其中我希望是“2017-05-15T19:30:00+01:00”

我希望使用SimpleDataFormat从服务器验证日期。我使用这种格式:“yyyy-MM-dd'T'HH:MM:ssZ”

当我解析预期日期时,一切看起来都很好,但如果我有无效的日期,例如,“15-05-2017T19:30:00+01:00”,我也没有解析异常


我应该使用什么格式?谢谢。

我假设您使用的是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我想我在另一个问题中找到了解决这个问题的方法。