如何在Java中验证任何日期格式模式本身

如何在Java中验证任何日期格式模式本身,java,validation,date,date-format,simpledateformat,Java,Validation,Date,Date Format,Simpledateformat,在验证任何日期之前,我无法找到任何方法来检查所提供的模式是否有效 比如说 String datePattern = "blablabla"; 我们如何验证创建对象SimpleDataFormat或任何其他dateFormat的模式是否有效 谢谢。来自: 换句话说,捕获异常。如果被捕获,则为无效模式: try { new SimpleDateFormat("invalid"); } catch (IllegalArgumentException e) { // invalid p

在验证任何日期之前,我无法找到任何方法来检查所提供的模式是否有效

比如说

String datePattern = "blablabla";
我们如何验证创建对象SimpleDataFormat或任何其他dateFormat的模式是否有效

谢谢。

来自:

换句话说,捕获异常。如果被捕获,则为无效模式:

try {
    new SimpleDateFormat("invalid");
} catch (IllegalArgumentException e) {
    // invalid pattern
}
试试这个:

String datePattern = "not a date object";
    SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
    try {
        System.out.println(format.parse(datePattern));
    } catch (ParseException exception) {
        // Not in proper format
        System.out.println("Exception occured. String not in a date format.");
    }

@伊斯万托桑:以什么方式?(这个评论太含糊了,没有什么帮助。)那么这可能不是违法的吗?什么是模式?@IswantoSan:这意味着该模式在Java6下是有效的。我发现这很令人惊讶,但这并不意味着它是一个有用的模式,但它是有效的……我认为我们必须让现有的parseapi方法来决定模式是否为正确的日期格式,而不是自己决定。如果我们自己编写,可能会丢失任何有效的场景。不会,因为SimpleDataFormat本身执行模式验证。
parse
方法仅验证要分析的传入文本,而不是模式。
String datePattern = "not a date object";
    SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
    try {
        System.out.println(format.parse(datePattern));
    } catch (ParseException exception) {
        // Not in proper format
        System.out.println("Exception occured. String not in a date format.");
    }