|
@@ -0,0 +1,46 @@
|
|
|
+package com.book.server.config;
|
|
|
+
|
|
|
+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.format.DateTimeFormatter;
|
|
|
+import java.util.TimeZone;
|
|
|
+
|
|
|
+/**
|
|
|
+ * 日期格式配置
|
|
|
+ *
|
|
|
+ * @date 2021/10/21
|
|
|
+ */
|
|
|
+@JsonComponent
|
|
|
+public class DateFormatConfig {
|
|
|
+
|
|
|
+ @Value("${spring.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));
|
|
|
+ }
|
|
|
+}
|