From 1e313345890a4809a99d428d72c36d2f2fe167a8 Mon Sep 17 00:00:00 2001 From: yuyang <2265829957@qq.com> Date: Thu, 29 Jul 2021 17:52:13 +0800 Subject: [PATCH] =?UTF-8?q?=E7=B1=BB=E5=9E=8B=E5=85=A8=E5=B1=80=E6=97=B6?= =?UTF-8?q?=E9=97=B4=E6=A0=BC=E5=BC=8F=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- xhpc-modules/xhpc-common/pom.xml | 6 ++ .../main/java/com/xhpc/DateFormatConfig.java | 55 +++++++++++++++++++ 2 files changed, 61 insertions(+) create mode 100644 xhpc-modules/xhpc-common/src/main/java/com/xhpc/DateFormatConfig.java diff --git a/xhpc-modules/xhpc-common/pom.xml b/xhpc-modules/xhpc-common/pom.xml index 647caf9d..700e8220 100644 --- a/xhpc-modules/xhpc-common/pom.xml +++ b/xhpc-modules/xhpc-common/pom.xml @@ -28,5 +28,11 @@ com.ruoyi ruoyi-common-redis + + + com.fasterxml.jackson.datatype + jackson-datatype-jsr310 + 2.12.3 + diff --git a/xhpc-modules/xhpc-common/src/main/java/com/xhpc/DateFormatConfig.java b/xhpc-modules/xhpc-common/src/main/java/com/xhpc/DateFormatConfig.java new file mode 100644 index 00000000..589dcc0b --- /dev/null +++ b/xhpc-modules/xhpc-common/src/main/java/com/xhpc/DateFormatConfig.java @@ -0,0 +1,55 @@ +package com.xhpc; + +import com.fasterxml.jackson.databind.SerializationFeature; +import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer; +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 java.text.DateFormat; +import java.text.SimpleDateFormat; +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; +import java.util.TimeZone; + +@JsonComponent +public class DateFormatConfig { + + @Value("${spring.jackson.date-format:yyyy-MM-dd HH:mm:ss}") + private String pattern; + + /** + * @author xiaofu + * @description date 类型全局时间格式化 + * @date 2020/8/31 18:22 + */ + @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); + }; + } + + /** + * @author xiaofu + * @description LocalDate 类型全局时间格式化 + * @date 2020/8/31 18:22 + */ + @Bean + public LocalDateTimeSerializer localDateTimeDeserializer() { + return new LocalDateTimeSerializer(DateTimeFormatter.ofPattern(pattern)); + } + + @Bean + public Jackson2ObjectMapperBuilderCustomizer jackson2ObjectMapperBuilderCustomizer(LocalDateTimeSerializer localDateTimeDeserializer) { + return builder -> builder.serializerByType(LocalDateTime.class, localDateTimeDeserializer); + } +} \ No newline at end of file