一尘不染

检查日期的有效性

java

我很好奇,Date用Java 创建对象的最明显的方法已被弃用,并且似乎已被使用宽大日历的不太明显的方法“替代”。

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

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


阅读 290

收藏
2020-09-08

共1个答案

一尘不染

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

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

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