springboot 2.5.6 时间格式化后 localdatetime 带t
时间: 2023-05-08 22:58:41 浏览: 296
在Spring Boot 2.5.6中,如果使用`LocalDateTime`进行时间格式化,在默认情况下会得到带有字母T的时间字符串,如:“2021-11-23T12:34:56”。这是因为ISO日期时间格式中的日期和时间部分之间需要使用大写字母T进行分隔,以表示时间的开始。
为了解决这个问题,可以使用Java 8的时间API中的`DateTimeFormatter`进行时间格式化,并将格式化模式设置为“yyyy-MM-dd HH:mm:ss”,其中日期和时间之间用空格代替使用字母T。可以在Spring Boot的配置文件中设置格式化模式,例如在`application.properties`文件中添加以下配置:
```
spring.jackson.date-format=yyyy-MM-dd HH:mm:ss
spring.jackson.time-zone=GMT+8
```
其中`spring.jackson.date-format`用于设置日期格式化模式,`spring.jackson.time-zone`用于设置时区。在这个例子中,将格式化模式设置为“yyyy-MM-dd HH:mm:ss”会将时间字符串格式化为“2021-11-23 12:34:56”,不再带有字母T。
如果不想添加上述配置,还可以在实体类中为`LocalDateTime`字段添加`@JsonFormat`注解,例如:
```
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime createTime;
```
这样,在序列化该实体类为JSON字符串时,该字段的值也将格式化为“yyyy-MM-dd HH:mm:ss”,不再带有字母T。
阅读全文