SpringBoot项目全局配置日期类型格式化和时区为东八区,解决日期类型返回前端少八个小时的问题

1、使用 yml 文件配置全局格式化日期如下

spring:
  application:
    name: nacos-practice-server
  main:
    allow-bean-definition-overriding: true  # 允许后来发现的bean覆盖之前相同名称的bean,默认false。(解决服务之间通过网关调用出现的问题)
  # 上传单个文件最大不超过50MB
  servlet:
    multipart:
      max-file-size: 50MB

  ############################ 全局配置日期格式化 start ###########################
  # 全局配置前端以 param 方式传入日期格式字符串自动转为日期类型
  mvc:
    format:
      date: yyyy-MM-dd
  # 全局配置响应日期格式和时区为东八区,解决日期类型返回前端少八个小时的问题
  jackson:
    time-zone: GMT+8
    date-format: yyyy-MM-dd
  ############################ 全局配置日期格式化 end ###########################

  # 配置nacos注册服务
  cloud:
    nacos:
      discovery:
        server-addr: http://localhost:8848

说明:
1、前端以param方式传参,可以以字符串的形式传入,后端会自动转化为日期类型:

mvc:
    format:
      date: yyyy-MM-dd



注意:
响应实体类中的字段格式化注解优先级大于全局配置的优先级,如下:

@ApiModelProperty(value = "创建日期")
@DateTimeFormat(pattern = "yyyy-MM-dd")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@TableField(fill = FieldFill.INSERT)
private Date createDate;

在字段上使用日期格式化注解,会优先使用字段格式化注解


版权声明:本文为hkl_Forever原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。