@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss")
sql 从数据库取出的时间(datetime) 转换为date 类型 ,为了格式化 为 "yyyy-MM-dd HH:mm:ss " 使用了以下注解
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss")
前端展示发现时间 比数据库存储的慢8小时, 这里我们只需 将注解更改为:
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone="GMT+8")
出现这种问题是因为:
@JsonFormat 默认情况下timeZone为GMT(即标准时区),所以会造成输出少8小时。
另一种解决方式:
不使用该注解 ,在前端进行 格式化 使用moment 组件:(vue 和react 均可)
<div>{moment(text.createTime).format('YYYY-MM-DD HH:mm:ss')}</div>
当然,使用 org.apache.commons.lang3.time 包里面的
DateFormateUtils.formate(Date date,String pattern) 也可以实现格式化为指定字符串
以及 java APi SimpleDateFormat
DateTimeFormatter.ofPattern()等等都可以实现 日期时间格式