zoukankan      html  css  js  c++  java
  • springboot 全局时间格式化

    方法一:配置

    这种方式只对 Date 类型生效

    spring:
      jackson:
        date-format: yyyy-MM-dd HH:mm:ss
        time-zone: GMT+8
    方法二:@JsonFormat

    部分格式化:@JsonFormat 注解需要用在实体类的时间字段上,对应的字段才能进行格式化。

    @Getter
    @Setter
    public class TestTime {
    
        @JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
        private Date date;
    
        private LocalDateTime localDateTime;
    
        @JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyyMMdd")
        private LocalDate localDate;
    
        @JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "HHmmss")
        private LocalTime localTime;
    
    }
    方法三:@JsonComponent

    使用 @JsonComponent 注解自定义一个全局格式化类,分别对 Date 和 LocalDate 类型做格式化处理。

    @JsonComponent
    public class JsonComponentConfig {
    
        @Value("${spring.jackson.date-format:yyyy-MM-dd HH:mm:ss}")
        private String pattern;
    
        /**
         * date 类型全局时间格式化
         */
        @Bean
        public Jackson2ObjectMapperBuilderCustomizer jackson2ObjectMapperBuilder() {
            return builder -> {
                TimeZone tz = TimeZone.getTimeZone("UTC");
                DateFormat df = new SimpleDateFormat(pattern);
                df.setTimeZone(tz);
                builder.failOnEmptyBeans(false)
                        .failOnUnknownProperties(false)
                        .featuresToDisable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS)
                        .dateFormat(df);
            };
        }
    
        /**
         * LocalDate 类型全局时间格式化
         */
        public LocalDateTimeSerializer localDateTimeDeserializer() {
            return new LocalDateTimeSerializer(DateTimeFormatter.ofPattern(pattern));
        }
    
        @Bean
        public Jackson2ObjectMapperBuilderCustomizer jackson2ObjectMapperBuilderCustomizer() {
            return builder -> builder.serializerByType(LocalDateTime.class, localDateTimeDeserializer());
        }
    
    }
  • 相关阅读:
    如何让AlertDialog 在点击确定或者取消时不消失
    你的睡眠时间和睡眠质量达标了么?
    如何使用指定浏览器打开网页
    国内主流Android安卓应用市场简介
    位运算——pku2436患病的奶牛
    高精度——sgu112
    树插入,树遍历——hdu3999
    大浮点数相加——hdu1753
    小数的幂——pku1001
    递推型DP——USACO 2009 February Silver bull and cow
  • 原文地址:https://www.cnblogs.com/ooo0/p/13729563.html
Copyright © 2011-2022 走看看