日期格式校验

日期格式校验

场景

导入文件时用户在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。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Bootstrap 可以使用 `bootstrap-datepicker` 插件来进行日期格式校验。具体步骤如下: 1. 引入 bootstrap 和 bootstrap-datepicker 的 CSS 和 JS 文件。 ```html <link rel="stylesheet" href="https://cdn.bootcdn.net/ajax/libs/twitter-bootstrap/4.5.0/css/bootstrap.min.css"> <link rel="stylesheet" href="https://cdn.bootcdn.net/ajax/libs/bootstrap-datepicker/1.9.0/css/bootstrap-datepicker.min.css"> <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.5.1/jquery.min.js"></script> <script src="https://cdn.bootcdn.net/ajax/libs/bootstrap/4.5.0/js/bootstrap.min.js"></script> <script src="https://cdn.bootcdn.net/ajax/libs/bootstrap-datepicker/1.9.0/js/bootstrap-datepicker.min.js"></script> ``` 2. 在 HTML 中添加日期选择器,并设置日期格式校验规则。 ```html <input type="text" id="datepicker" data-provide="datepicker" data-date-format="yyyy-mm-dd" required> ``` 在这个示例中,我们使用了 `data-provide` 和 `data-date-format` 属性来设置日期选择器和日期格式。同时,我们还添加了 `required` 属性来设置日期为必填项。 3. 使用 JavaScript 初始化日期选择器,并添加校验规则。 ```javascript $(document).ready(function() { $('#datepicker').datepicker({ format: 'yyyy-mm-dd', startDate: '-3d', endDate: '+3d', autoclose: true, todayHighlight: true }); }); ``` 在这个示例中,我们使用了 `datepicker()` 方法来初始化日期选择器,并添加了一些校验规则,如 `startDate` 和 `endDate` 来限制可选日期的范围,`autoclose` 来自动关闭日期选择器,`todayHighlight` 来设置今天日期高亮显示。 这样就可以使用 bootstrap-datepicker 插件来进行日期格式校验了。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值