//出参
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
//入参
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
1)入参时,请求报文只需要传入yyyymmddhhmmss字符串进来,则自动转换为Date类型数据。
2)出参时,Date类型的数据自动转换为14位的字符串返回出去。
pojo的bean里面通常会有Date类型的数据,直接通过@ResponseBody返回出去的是一个长整型时间戳(从1970到该变量时间的毫秒数),关于原因,网上很多,此处不细讲。如果想要返回自定义的日期格式,如:yyyymmddhhmmss,需做相关处理,网上有很多处理方式,大体都是继承、重写,比较复杂。实际上JSON已有注解@JsonFormat支持,使用实例:
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")//中国是东八区
private Date ts;
@Entity
@Table(name="mession")
@DynamicInsert(true)
public class Mession {
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
@Column(name="pk_id",length=11)
private Integer pk_id;
@Column(name="m_name")
private String m_name;
@Column(name="m_time")
private String m_time;
@Column(name="meaparam_id")
private Integer meaparam_id;
@Column(name="ts")
@Temporal(TemporalType.TIMESTAMP) //获取数据库时间格式
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8") //Hibernate中@ResponseBody返回的时间格式
private Date ts;
@Column(name="dr")
private Integer dr;
public Mession() {
super();
// TODO Auto-generated constructor stub
}
public Mession(Integer pk_id, String m_name, String m_time,
Integer meaparam_id, Date ts, Integer dr) {
super();
this.pk_id = pk_id;
this.m_name = m_name;
this.m_time = m_time;
this.meaparam_id = meaparam_id;
this.ts = ts;
this.dr = dr;
}
get/set()
}