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

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

时间:2022-11-20 10:34:30浏览次数:47  
标签:转化成 数据库 pos SimpleDateFormat parse dateStr 字符串 new simpleDateFormat

//将年月日字符串转换成具体的年月日
    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()));

 

标签:转化成,数据库,pos,SimpleDateFormat,parse,dateStr,字符串,new,simpleDateFormat
From: https://www.cnblogs.com/smile008/p/16907965.html

相关文章

  • 字符串练习2 最长抑或路径(01trie树)
    题目链接在这里:​​P4551最长异或路径-洛谷|计算机科学教育新生态(luogu.com.cn)​​是一道比较经典的问题,对于异或问题经常会使用01trie树来解决。当然01trie树只是......
  • 字符串练习1 于是他错误的点名开始了(Trie)
    题目链接在这里:​​P2580于是他错误的点名开始了-洛谷|计算机科学教育新生态(luogu.com.cn)​​是一道trie树的板子题,注意理解trie树的每一个节点代表的是一个状态,这......
  • JDK8 连接Access数据库
    (JDK8连接Access数据库)前面我们讲了如何使用Java连接ODBC并配置Access数据库,参考连接:https://jackwei.blog.csdn.net/article/details/86285822可以知道JDK8之后已经不......
  • 数据库无法查询中文问题的解决过程
    解决方案:在数据库连接后面指定编码&useUnicode=true&characterEncoding=UTF-8比如url:jdbc:mysql://localhost:3306/store_category?useSSL=false&?useUnicode=true&ch......
  • T292219 [传智杯 #5 练习赛] 复读 ----- 字符串
    给定若干个字符串,不定数量,每行一个。有些字符串可能出现了多次。如果读入一个字符串后,发现这个字符串以前被读入过,则这个字符串被称为前面相同的字符串的复读,这个字符串被......
  • Hive学习笔记:字符串拼接
    工作中需要合并区号与号码,因两个字段均为数值,无法直接使用“+”进行拼接,需要通过其他方法。一、concat拼接concat将多个字段(字段类型可不相同)拼接起来。使用语法为:-......
  • java与Access 数据库连接访问表 例子
    Java与数据库的连接对于一些中大型的主流数据库而言,一般数据库厂商都提供了专门的JDBC驱动.但对于部分小型数据库而言经常没有专门的JDBC数据库连接......
  • C# 字符串转二进制 十进制转二进制 十六进制转二进制 补位
    最近项目的协议需要根据传过来的十六进制字符串转换成二进制来判断设备状态。例如:"00"=>00表示设备1关、设备2关“01”=>01表示设备1关、设备2开“02”=>10表......
  • 【C语言进阶】三.字符串函数
    (一)字符串函数1.strlen(计算字符串元素数)(1)用法size_tstrlen(constchar*str)字符串已经'\0'作为结束标志,strlen函数返回的是在字符串中'\0'前面出现的字符个数(不包......
  • python3-基础篇-10-字符串
      字符串操作在​​python3-基础篇-04-字符串格式化输出(%、format())​​中已经提到了一些,在本章中将列举字符串的其它操作。1.字符串重复输出‘值’*num   (num为重复......