SpringBoot配置全局 LocalDateTime 日期格式转换器
时间: 2023-10-14 18:15:53 浏览: 133
Spring Boot 将yyyy-MM-dd格式的文本字符串直接转换为LocalDateTime出现的问题
5星 · 资源好评率100%
在SpringBoot中,可以通过使用全局日期格式转换器来将LocalDateTime日期格式化为指定格式。下面是一个示例:
首先,创建一个全局日期格式转换器类:
```
@Configuration
public class LocalDateTimeConverter implements Converter<String, LocalDateTime> {
@Override
public LocalDateTime convert(String source) {
if (StringUtils.isEmpty(source)) {
return null;
}
return LocalDateTime.parse(source, DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
}
}
```
然后,将该类注入到SpringBoot的配置中:
```
@Configuration
public class WebMvcConfig implements WebMvcConfigurer {
@Autowired
private LocalDateTimeConverter localDateTimeConverter;
@Override
public void addFormatters(FormatterRegistry registry) {
registry.addConverter(localDateTimeConverter);
}
}
```
现在,当我们在Controller中接收LocalDateTime类型的参数时,SpringBoot会自动将参数转换为指定格式的LocalDateTime类型。例如:
```
@GetMapping("/test")
public String test(LocalDateTime date) {
// do something with date
return "success";
}
```
当我们请求/test?date=2022-02-22%2012:12:12时,date参数将会被自动转换为LocalDateTime类型,其值为2022-02-22T12:12:12。
阅读全文