日期格式校验

日期格式校验

场景

导入文件时用户在Excel中输入日期。由于用户在Excel中输入的内容无法控制。需要在插入数据表之前对日期的格式进行校验。要求的最后合法格式为YYYY-MM-DD。

解决代码

public static boolean isDate(String sDate, String format) {
    if (sDate == null) {
        return false;
    }
    DateFormat formatter = new SimpleDateFormat(format);
    try {
        Date date = formatter.parse(sDate);
        return sDate.equals(formatter.format(date));
    } catch (Exception e) {
        return false;
    }
}

= =

用户输入的大致分为以下几种可能

1、用户输入的内容不能为空,如果为空肯定不合法。

2、用户如果输入的不是日期格式(YYYY-MM-DD),也不合法。

3、用户如果输入的是YYYY-MM-DD格式,但是不是正常的日期,例如:2020-98-98。也不合法。

将sDate转换为date类型,再将date类型转换为YYYY-MM-DD格式的日期类型后进行比较。如果不相等说明出现了第三种情况,返回false。如果用户输入的不是日期格式,便抛出异常返回false。


版权声明:本文为weixin_42769637原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。