java - 如何使用字符串的 split 方法验证日期?

标签 java string validation date split

如何使用字符串类的 split 方法验证日期(我的意思是日期不应该无效)? 进一步的细节:每个月应该有各自的天数,只有当是闰年时,二月才应该有 29 天,并且日期不能超过当前日期。

最佳答案

我可以建议使用 Apache Commons DateValidator 中的 validate(String value) 方法:

import org.apache.commons.validator.routines.DateValidator;
...

// Get the Date validator
DateValidator validator = DateValidator.getInstance();

// Validate/Convert the date
Date fooDate = validator.validate(fooString);
if (fooDate == null) {
    // error...not a valid date
    return;
}

validate() 如果有效则返回已解析的日期,如果无效则返回 null。

如果您只想获取 true/false,那么还有另一个 boolean 方法 isValid()。例如:

DateValidator validator = DateValidator.getInstance();
if (validator.isValid(date)) {
    System.out.println(date + " is valid");
} else {
    System.out.println(date + " is invalid");
}

关于java - 如何使用字符串的 split 方法验证日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22096516/

相关文章:

java - Mockito.eq 匹配器似乎匹配列表引用,而不是值

c++ - 密码无法正确加密(携带太多字符)

Python Validictory(JSON 模式验证): How to OR multiple schemas?

javascript - 使用 javascript 验证相互依赖的输入

validation - Angular2 - 创建可重用、经过验证的文本输入组件

Java SMPP实现接收短信

java - 使用 JNA 和 Ada 的 Interface.C 包将 Ada 动态库与 Java 接口(interface)

java - FrameLayout 无法转换为 AbsListView Layout Params

Ruby:模糊测试所有 unicode 字符(UTF8/编码/字符串操作)

C#匹配两个文本文件,大小写敏感问题