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