spring boot日期全域性配置
阿新 • • 發佈:2020-12-25
@Configuration public class TimeConfig { private final DateTimeFormatter datePattern = DateTimeFormatter.ofPattern("yyyy-MM-dd"); private final DateTimeFormatter timePattern = DateTimeFormatter.ofPattern("HH:mm:ss"); private final DateTimeFormatter dateTimePattern = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); @Bean public FormattingConversionService conversionService() { DefaultFormattingConversionService conversionService = new DefaultFormattingConversionService(true); // 確保@NumberFormat仍支援 conversionService.addFormatterForFieldAnnotation(new NumberFormatAnnotationFormatterFactory()); // @DateTimeFormat全域性配置 DateTimeFormatterRegistrar deserialization = new DateTimeFormatterRegistrar(); deserialization.setDateFormatter(datePattern); deserialization.setTimeFormatter(timePattern); deserialization.setDateTimeFormatter(dateTimePattern); deserialization.registerFormatters(conversionService); return conversionService; } /** * JsonFormat全域性配置 * 代替 @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") * * @return Module */ @Bean public Module timeModule() { JavaTimeModule javaTimeModule = new JavaTimeModule(); javaTimeModule.addSerializer(LocalDateTime.class, new LocalDateTimeSerializer(dateTimePattern)); javaTimeModule.addSerializer(LocalDate.class, new LocalDateSerializer(datePattern)); javaTimeModule.addSerializer(LocalTime.class, new LocalTimeSerializer(timePattern)); return javaTimeModule; } }