前言:最近在学springBoot的相关知识,然后再使用yaml的时候遇到一个问题
再yaml中配置了日志例如2020/07/01,然后写了个controller返回,打印在了浏览器上面 日期永远都小一天即2020/06/30
百度了半天终于解决了:
首先需要在yaml中设置时区
spring:
jackson:
date-format: yyyy/MM/dd
time-zone: GMT+8
其次在bean上设置@DateTimeFormat(pattern = "yyyy/MM/dd"),注意这个yyyy/MM/dd要和yaml中的一致,不然返回的还是有问题
还可以使用@JsonFormat(pattern = "yyyy/MM/dd"),这两个的区别简单来说就是JF时从后台传到前台时使用,DTF是从前台传到后台使用,因为我们是从yaml中传过来的字符串所以用DTF
@DateTimeFormat(pattern = "yyyy/MM/dd")
private Date birth;
Controller
@RequestMapping("/person")
public Person helloPerson(){
System.out.println(person);
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
System.out.println(sdf.format(person.getBirth()));
return person;
}