sql 日期格式

一般正确的日期格式: 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 &lt;= #{thisTime}
        AND end_time &gt;= #{thisTime}
    </if>
</select>

猜你喜欢

转载自blog.csdn.net/xinyuezitang/article/details/89245229
今日推荐