SpringBoot整合日期转换器
SpringBoot设置后台向前台传递Date日期格式
方式1:配置文件修改
配置文件配置application.yml
:
spring:
# 配置日期格式化
jackson:
date-format: yyyy-MM-dd HH:mm:ss #时间戳统一转换为指定格式
time-zone: GMT+8 # 时区修改为东8区
方式2:在实体类上加注解
//在pattern上设置自己需要的格式
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss")
private Date createTime;
SpringBoot设置前台向后台传递Date日期格式
方式1:在实体类上加注解
//注解将yyyy-MM-dd的形式转换为Date数据
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date birthday;
方式2:SpringBoot配置全局日期格式转换器
package com.usian.converter;
import java.text.ParseException;
import java.util.Date;
import org.springframework.core.convert.converter.Converter;
import org.apache.commons.lang3.time.DateUtils;
//Converter<S,T> S: 代表的是源,将要转换的数据类型 T:目标类型,将会转成什么数据类型
public class DateConverter implements Converter<String, Date>{
@Override
public Date convert(String str) {
String[] patterns = new String[]{
"yyyy-MM-dd","yyyy-MM-dd hh:mm:ss","yyyy/MM/dd","yyyy/MM/dd hh:mm:ss",
"MM-dd-yyyy","dd-MM-yyyy"};
try {
Date date = DateUtils.parseDate(str, patterns);
return date;
} catch (ParseException e) {
e.printStackTrace();
}
return null;
}
}
配置日期转换器
package com.usian.config;
import com.usian.converter.DateConverter;
import org.springframework.context.annotation.Configuration;
import org.springframework.format.FormatterRegistry;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
@Configuration //<beans>
public class MyConfig implements WebMvcConfigurer {
@Override
public void addFormatters(FormatterRegistry registry) {
registry.addConverter(new DateConverter());
}
}