一般正确的日期格式: yyyy-MM-dd HH:mm:ss
显示如下:
但是有时候时间显示不正确, 在日期后会多.0
错误格式 2019-04-10 19.16.27.0
这是为什么呢?
通常我们在数据库中, 会把日期格式设置为 datatime,
但是在创建相应实体类的时候, 我们日期的数据类型设为String
所以, 导致了get日期的时候是String格式
数据库设置日期时间:
实体类:
//创建日期
private String created;
//set和get方法
public String getCreated() {
return created;
}
public void setCreated(String created) {
this.created = created;
}
如何修改 ?
方法一:
修改实体类的get()方法
在get() 方法中对日期进行规范
方法二:
在sql中,直接获取标准的日期格式
方法一: 修改实体类:
//创建日期
private String created;
//set和get方法
public String getCreated() {
if (null != created) {
created = created.substring(0, 19);
}
return created;
}
public void setCreated(String created) {
this.created = created;
}
方法二: 修改sql
时间格式 :
%Y年%m月%d日 %H:%i:%s
%Y-%m-%d %H:%i:%s
<select id="getCreatedTime" resultType="java.lang.String">
SELECT package_order_id AS packageOrderId ,
DATE_FORMAT(created,'%Y-%m-%d %H:%i:%s') AS created,
DATE_FORMAT(start_time ,'%Y-%m-%d %H:%i:%s') AS startTime ,
DATE_FORMAT(end_time,'%Y-%m-%d %H:%i:%s') AS endTime
FROM table
WHERE package_order_id= #{packageOrderId}
<if test="thisTime != null ">
AND start_time <= #{thisTime}
AND end_time >= #{thisTime}
</if>
</select>