springboot处理前后台时间(经测试可行)
从后台传给前台
默认后台vo的Date类型字段传给前台是是以时间戳的方式展示的,如果我们想要特定格式(比如yyyy-MM-dd),可以有以下方式
一 全局配置
需要我们在配置文件中写如下配置,这样vo中的Date类型字段返回前台后将以指定格式显示
spring:
jackson:
date-format: yyyy-MM-dd
time-zone: GMT+8
二 指定字段配置
如果我们只是需要vo中某些特定Date字段按照特定格式返回前台,还可以如下配置
首先在配置文件中添加如下配置
spring:
jacksondate-format: yyyy-MM-dd
接着在想要特定格式的字段上添加注解即可
import com.fasterxml.jackson.annotation.JsonFormat;
@JsonFormat(pattern="yyyy-MM-dd")
private Date effectivetime;
后台接收前台
如果前台传过来Date字段是string类型,我们vo中的Date类型默认是无法转换的,我们可以以如下方式进行处理
一 在特定controller中添加如下代码
@InitBinder
public void initBinder(WebDataBinder binder) {
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
dateFormat.setLenient(false);
binder.registerCustomEditor(Date.class, new CustomDateEditor(dateFormat, false)); //true:允许输入空值,false:不能为空值
}