一尘不染

如何理智地检查Java中的日期

java

我感到奇怪的是,Date在Java中创建对象的最明显的方法已被弃用,并且似乎已被使用宽大日历的不太明显的方法所“替代”。

如何检查以日,月和年的组合形式给出的日期是否为有效日期?

例如,2019-02-31(如yyyy-mm-dd)将是无效日期。


阅读 335

收藏
2020-03-01

共1个答案

一尘不染

当前的方法是使用日历类。它具有setLenient方法,该方法将验证日期和引发异常,如果超出示例,则抛出异常。

忘记添加:如果你获得日历实例并使用日期设置时间,那么这就是获得验证的方式。

Calendar cal = Calendar.getInstance();
cal.setLenient(false);
cal.setTime(yourDate);
try {
    cal.getTime();
}
catch (Exception e) {
  System.out.println("Invalid date");
}
2020-03-01