我感到奇怪的是,Date在Java中创建对象的最明显的方法已被弃用,并且似乎已被使用宽大日历的不太明显的方法所“替代”。
如何检查以日,月和年的组合形式给出的日期是否为有效日期?
例如,2019-02-31(如yyyy-mm-dd)将是无效日期。
当前的方法是使用日历类。它具有setLenient方法,该方法将验证日期和引发异常,如果超出示例,则抛出异常。
忘记添加:如果你获得日历实例并使用日期设置时间,那么这就是获得验证的方式。
Calendar cal = Calendar.getInstance(); cal.setLenient(false); cal.setTime(yourDate); try { cal.getTime(); } catch (Exception e) { System.out.println("Invalid date"); }