问题
前后端之间传递的时间出现了误差,这个问题主要是由于编码格式导致的,前端传回来的是一个字符串,一般来说是SpringBoot是按照默认的方式将字符串转换为Date类型的.但是,要是你想要按照你的方式传递的话,就会出现一些问题了,比如时间快了或者慢了几小时啊,一天啊什么的,这个时候就是要定制自己的编码方式了
解决
前端传给后端
这个时候,只需要定制一下格式转换器就可以了
@Configuration
public class DateConvertConfig implements Converter<String,Date> {
//在这里,假设我需要的格式只是yyyyMMdd的格式,不需要其他的精度
@Override
public Date convert(String s) {
try {
return new SimpleDateFormat("yyyyMMdd").parse(s);
} catch (ParseException e) {
e.printStackTrace();
}
return null;
}
}
后端传给前端
这个就更加简单了,只要再属性以及相应的Get
方法下建立编码格式就可以了
//时区,编码格式
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
这样就可以很轻松的解决了传递时间出错的问题了