SpringBoot三种方法接口返回日期格式化小结

 更新时间:2025年01月10日 10:45:03   作者:weixin_46242847  
本文介绍了三种在Spring Boot中格式化接口返回日期的方法,包含使用@JsonFormat注解、全局配置JsonConfig、以及在yml文件中配置时区,具有一定的参考价值,感兴趣的可以了解一下

方法一:@JsonFormat注解

在返回实体的字段上添加@JsonFormat注解。

@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date createDate;

pattern是日期格式,timezone是时间分区。格式具体可以参考下图:

在这里插入图片描述

方法二:JsonConfig配置

全局配置。好处:无需每个类配置日期格式坏处:不灵活,只能统一。

package com.xy.config;

import com.fasterxml.jackson.databind.SerializationFeature;
import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.autoconfigure.jackson.Jackson2ObjectMapperBuilderCustomizer;
import org.springframework.boot.jackson.JsonComponent;
import org.springframework.context.annotation.Bean;
import org.springframework.stereotype.Component;

import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.TimeZone;

//jackson日期
@Slf4j
@JsonComponent

public class JacksonConfig {

    @Value("${my.jackson.date-format:yyyy-MM-dd HH:mm:ss}")
    private String pattern;

    @Bean
    public Jackson2ObjectMapperBuilderCustomizer jackson2ObjectMapperBuilder() {

        return builder -> {
            TimeZone tz = TimeZone.getTimeZone("GMT+8");
            DateFormat df = new SimpleDateFormat(pattern);
            df.setTimeZone(tz);
            builder.failOnEmptyBeans(false)
                    .failOnUnknownProperties(false)
                    .featuresToDisable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS)
                    .dateFormat(df);
        };
    }

    @Bean
    public LocalDateTimeSerializer localDateTimeDeserializer() {
        return new LocalDateTimeSerializer(DateTimeFormatter.ofPattern(pattern));
    }

    @Bean
    public Jackson2ObjectMapperBuilderCustomizer jackson2ObjectMapperBuilderCustomizer() {
        return builder -> builder.serializerByType(LocalDateTime.class, localDateTimeDeserializer());
    }

}

然后配置文件里配置好格式就行。

方法三:yml配置

spring:
  jackson:
    date-format: yyyy-MM-dd HH:mm:ss
    time-zone: GMT+8

UTC和 GMT区别UTC‌:协调世界时间(UTC)是基于原子时钟的时间计量系统,旨在尽量接近世界时(UT)。UTC的时间尺度是均匀的,不考虑地球自转速度的变化‌。‌GMT+8‌:格林威治平均时间加8小时,即东八区的本地时间。GMT+8通常用于表示中国北京时间‌‌UTC‌:在国际无线电通信、卫星导航等需要高精度时间计量的场合广泛使用‌。‌GMT+8‌:常用于表示中国北京时间,在电子邮件信头、软件显示时间等场合使用‌。总结:UTC和GMT+8基本相同,UTC更精确而GMT+8常代表北京时间。

总结

三种方法个人推荐第三种。为什么,因为太方便了,另外如果有特殊格式,可以再加@JsonFormat单独注解,会优先以添加了@JsonFormat注解的为准。

到此这篇关于SpringBoot三种方法接口返回日期格式化小结的文章就介绍到这了,更多相关SpringBoot 接口返回日期格式化内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 一文带你了解Spring中Bean名称加载机制

    一文带你了解Spring中Bean名称加载机制

    这篇文章主要给大家介绍了Spring Framework如何从使用注解定义的Bean元数据中获取到Bean的名称,文中通过代码示例给大家介绍的非常详细,具有一定的参考价值,需要的朋友可以参考下
    2024-01-01
  • 剑指Offer之Java算法习题精讲排列与N叉树

    剑指Offer之Java算法习题精讲排列与N叉树

    跟着思路走,之后从简单题入手,反复去看,做过之后可能会忘记,之后再做一次,记不住就反复做,反复寻求思路和规律,慢慢积累就会发现质的变化
    2022-03-03
  • 解决JSONObject.toJSONString()输出null的问题

    解决JSONObject.toJSONString()输出null的问题

    这篇文章主要介绍了解决JSONObject.toJSONString()输出null的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-02-02
  • java实现简单音乐播放器

    java实现简单音乐播放器

    这篇文章主要为大家详细介绍了java实现简单音乐播放器,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-06-06
  • Java ArrayList.add 的实现方法

    Java ArrayList.add 的实现方法

    这篇文章主要介绍了Java ArrayList.add 的实现方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-11-11
  • Java三目运算符用法举例

    Java三目运算符用法举例

    三目运算符是我们经常在代码中使用的,这篇文章主要给大家介绍了关于Java三目运算符用法的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2023-11-11
  • 注解@TableName,@TableField,pgsql的模式对应方式

    注解@TableName,@TableField,pgsql的模式对应方式

    这篇文章主要介绍了注解@TableName,@TableField,pgsql的模式对应方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-04-04
  • 总结十个实用但偏执的Java编程技术

    总结十个实用但偏执的Java编程技术

    Java是世界上最流行的程序语言,从1995年问世以来,Java的生态系统在一直在蓬勃的发展着。下面这篇文章主要总结了十个实用但偏执的Java编程技术,需要的朋友可以参考借鉴,下面来一起学习学习吧。
    2017-01-01
  • SpringBoot对不同Bean注解的区别和使用场景说明

    SpringBoot对不同Bean注解的区别和使用场景说明

    这篇文章主要介绍了SpringBoot对不同Bean注解的区别和使用场景说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-03-03
  • IDEA+Maven搭建Spring环境的详细教程

    IDEA+Maven搭建Spring环境的详细教程

    这篇文章主要介绍了IDEA+Maven搭建Spring环境的详细教程,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-11-11

最新评论