将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()));