检查日期是否适合定义日期模式

时间:2012-12-04 15:35:04

标签: java android date simpledateformat

用户应以下一格式yyyy-MM-dd输入日期。所以我使用以下方式检查它:

public static boolean isDateValid(SimpleDateFormat dateFormat, String date) {
    try {
        dateFormat.parse(date);
        return true;
    } catch (ParseException e) {
        e.printStackTrace();
        return false;
    }
}

但即使我为

输入12-12-2012,它也会返回true
SimpleDateFormat("yyyy-MM-dd")

1 个答案:

答案 0 :(得分:2)

您可以使用DateFormat.setLenient(false),以避免执行lenient解析: -

    try {
        dateFormat.setLenient(false);
        dateFormat.parse(date);
        return true;
    } catch (ParseException e) {
        e.printStackTrace();
        return false;
    }

来自文档: -

  

通过宽松解析,解析器可以使用启发式来解释   输入与此对象的格式不完全匹配。严格要求   解析时,输入必须与此对象的格式匹配。