在使用SpringBoot日常开发中,发现前端页面传入的时间字符串无法自动转换成日期格式,后台在处理会比较麻烦。
多方查阅,找到此处理方式:
1.在启动类Application中,添加方法处理:
import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.builder.SpringApplicationBuilder; import org.springframework.boot.web.support.SpringBootServletInitializer; import org.springframework.context.annotation.Bean; import org.springframework.core.convert.converter.Converter; import java.text.SimpleDateFormat; import java.util.Date;
@Bean public Converter<String, Date> addNewConvert() { return new Converter<String, Date>() { @Override public Date convert(String source) { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Date date = null; try { date = sdf.parse( source); } catch (Exception e) { e.printStackTrace(); } return date; } }; }
2.然后在配置文件application.properties文件中添加
spring.jackson.date-format=yyyy-MM-dd
https://www.jianshu.com/p/ebe9087b9078
1、针对json格式:在配置文件中加以下配置
spring.jackson.date-format=yyyy-MM-dd HH:mm:ss
spring.jackson.time-zone=GMT+8
2、针对form表单格式,加下面这句配置就可以
spring.mvc.dateFormat = yyyy-MM-dd HH:mm:ss
3、也可以在pojo中对特定的date类型属性加了以下配置
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")