前言
关于时间格式化问题
一.后端格式化时间
date类型转换成自己想要的格式化时间数据.利用simpledateformat类的formatf方法.但是得到的数据类型已经是String类型.代码如下:
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String format = sdf.format(date);
二.前端格式化时间
前端接受的date数据的类型时,我们可以使用jstl标签库中标签转换,转成我们想要的格式化时间数据.使用前记得头部导入标签库<%@taglib uri=“http://java.sun.com/jsp/jstl/fmt” prefix=“fmt” %>.代码如下:其中vulue值为后端传给前端的值,而pattern是时间格式化的类型.
<fmt:formatDate value="${topicList.lastReplyTime}" pattern="yyyy-MM-dd HH-mm-ss"/>
三.前后端交互
1.前端传值给后端,后端可以用对象类封装接受数据.然后实体类在对应的属性上增加注解@DateTimeFormat(pattern=“yyyy-MM-dd HH:mm:ss”)
实体类的代码如下:
@Column(name="last_reply_time")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
private Date lastReplyTime;// 最新回复时间
2.后端传值给前端时,在实体类对应的属性上增加注解@JsonFormat
@Column(name="last_reply_time")
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss" timezone = "GMT+8")
private Date lastReplyTime;// 最新回复时间
jackson在序列化时间时是按照国际标准时间GMT进行格式化的,而在国内默认时区使用的是CST时区,两者相差8小时。