如何在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.");
}