将x年或x年x月或x年x月x日等字符串转化成日期类型存储到数据库

        这个是比较简单的需求,直接上代码:

//将年月日字符串转换成具体的年月日
    public static Date StringToDate(String dateStr) {
        if (StringUtils.isEmpty(dateStr)) {
            throw new SelfDefinitionException(20001, "日期不能为空,添加失败!");
        }
        Date parse = new Date();
        ParsePosition pos = new ParsePosition(0);
        if (dateStr.contains("日")) {
            SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy年MM月dd日");
            parse = simpleDateFormat.parse(dateStr, pos);
        } else if (dateStr.contains("月")) {
            SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy年MM月");
            parse = simpleDateFormat.parse(dateStr, pos);
        } else if (dateStr.contains("年")) {
            SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy年");
            parse = simpleDateFormat.parse(dateStr, pos);
        }
        if (parse == null) {
            throw new SelfDefinitionException(20001, "故障时间填写不规范!");
        }
        return parse;
    }

        这个可以写成工具类的形式,进行使用,此外以上的代码可能会得到为null 的情况,即传入的字符串参数不为空,并且不是规则的日期类型,比如不是下面的形式:x年、x年x月、x年x月x日

        以上就是将字符串转换成日期形式的代码,希望对你有帮助,此外如果要存入数据库的date类型,可能中间还要进行一次日期格式转换,使用代码:

faultInfo.setFaultTime(new java.sql.Date(date.getTime()));

学习之所以会想睡觉,是因为那是梦开始的地方。
ଘ(੭ˊᵕˋ)੭ (开心) ଘ(੭ˊᵕˋ)੭ (开心)ଘ(੭ˊᵕˋ)੭ (开心)ଘ(੭ˊᵕˋ)੭ (开心)ଘ(੭ˊᵕˋ)੭ (开心)
                                                                                                        ------不写代码不会凸的小刘

猜你喜欢

转载自blog.csdn.net/qq_40834643/article/details/127925139
x