Mysql数据库datetime类型查询出来的日期带个.0 转化成java Date方法
查询出来的数据库结束时间(字符串类型):2020-03-07 23:55:00.0
DateUtils.parse使用"yyyy-MM-dd HH:mm:ss"解析的时候报错。
java.text.ParseException: Unable to parse the date: 2020-03-07 23:55:00.0
解决方法:
//先转换成时间戳类型,再转化成date
Timestamp date_time= (Timestamp) MapUtils.getObject(map,"date_time");
Date fmtDate= new Date(date_time.getTime());
log.error("转换后日期:{}",DateUtils.formatDate(fmtDate,"yyyy-MM-dd HH:mm:ss"));
用得最多的日期时间类型,就是 DATETIME。虽然 MySQL 也支持 YEAR(年)、 TIME(时间)、DATE(日期),以及 TIMESTAMP 类型,但是在实际项目中,尽量用 DATETIME 类型。因为这个数据类型包括了完整的日期和时间信息,取值范围也最大,使用起来比较方便。毕竟,如果日期时间信息分散在好几个字段,很不容易记,而且查询的时候,SQL 语句也会更加复杂。
此外,一般存注册时间、商品发布时间等,不建议使用DATETIME存储,而是使用时间戳,因为DATETIME虽然直观,但不便于计算。