MySQL数据库设置时间字段为DateTime,展示给前台页面时,时间后面多了个0

今天项目中碰到过这个问题,在考虑设计数据库表字段的时候,针对更新时间这个字段,我想到了datetime和timestamp两种类型,还有一种是date,我这里是要展示yyyy-MM-dd HH:mm:ss格式,而date类型是yyyy-MM-dd类型,所以date舍弃。

好了,了解完区别我们来看下针对时间后面多了个.0的问题怎么处理。

一、直接在MySQL中处理

SELECT DATE_FORMAT(t.update_time, '%Y-%m-%d %k:%i:%s') AS updateTime FROM USER t 

当然,我这里只是为了测试DATE_FORMAT这个函数,自己写了个USER表,项目中其他字段我没写上来;

这里注意一下:一定要写AS updateTime,不然你对这个时间字段格式化映射不到实体类的字段。

二、Java在后台处理

public static String formateDateTime(Date date) {
   SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
   return date == null ? "" : sdf.format(date);
}

三、Java实体类的字段属性上做处理

maven依赖的jar包:jackson-annotations-2.8.5.jar

@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date dateTime;

这样从数据库查出来的数据通过mybatis映射到实体类直接实现格式化转化。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值