注解转换日期格式:数据库时间和Java时间

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1  前言

    日期在Mysql数据库存储格式为datetime/timestamp;在Java实体类定义为Date/Timestamp

@Data
public class A {
    private Date createTime;    // 创建时间
}

    如果自动解析到前端,得到的日期格式是这样的,这个是springboot的日期默认显示格式。

    {
        "createTime": "2021-04-06T05:32:12.000+00:00"
    }

    此时如果我们想要这样的:    

    {
        "createTime": "2021-04-06 13:32:12"
    }

2  注解

  1.  我们如果用的Jackson,只需要在createTime字段上添加如下注解即可:
@Data
public class A {
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;              // 创建时间
}

      2.  如果我们想指定存到数据库的日期格式,在createTime字段上添加注解:

@Data
public class A {
     @DateTimeFormat(pattern = "yyyy-MM-dd")
     private Date createTime;    // 创建时间
}

       3. 如果我们想配置全局的,在application.properties / application.yml:

// application.properties
spring.jackson.date-format= yyyy-MM-dd HH:mm:ss
spring.jackson.time-zone=GMT+8


// application.yml
spring:
  # 配置日期格式化
  jackson:
    date-format: yyyy-MM-dd HH:mm:ss  #时间戳统一转换为指定格式
    time-zone: GMT+8  # 时区修改为东8区

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值