一般从数据库获取的时间或日期时间格式化为date或者datetime,为了方便前端渲染,API接口返回的时候需要对日期进行格式化转换,通常会用到 SimpleDateFormat 工具处理。
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
String time = dateFormat.format(new Date());
如果一个DTO类里面有很多关于时间字段需要格式化,就会降低开发效率,产生很多重复臃肿的代码。并且有的项目用Date,有的项目会用LocalDateTime
而此时如果能将时间格式统一配置,就可以省下更多时间专注于业务开发了。
接下来介绍SpringBoot中常用的对时间或日期处理的方式
一、@JsonFormat 注解
JsonFormat注解是jackson包里面的一个注解,需要加上依赖
com.fasterxml.jackson.core
jackson-core
2.11.2
@JsonFormat注解需要用在实体类的时间字段上,对应的字段才能进行格式化。
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.time.LocalDateTime;
import java.util.Date;
@Data
public class TestDTO {
@JsonFormat(locale = "zh", timezone = "GMT+8
|