Spring Boot前端模板中显示时间${bo.createTime!}时如何把createTime转为年月日时分秒格式
时间: 2024-10-19 08:02:30 浏览: 36
在Spring Boot项目中,当你想要将`createTime`字段转换为年月日时分秒的格式并显示在前端模板中,通常可以使用Thymeleaf模板引擎的内置函数或者自定义日期格式化。这里假设你正在使用的模板引擎是Thymeleaf,你可以这样做:
1. **使用Thymeleaf内置函数**:
```html
<td th:text="${#temporals.format(bo.createTime, 'yyyy-MM-dd HH:mm:ss')}" />
```
这会将`createTime`字段按照指定的格式"yyyy-MM-dd HH:mm:ss"格式化。
2. **使用Java 8日期格式化** (如果你的`createTime`是`LocalDateTime`或`Instant`):
```java
String formattedTime = LocalDateTime.ofInstant(bo.createTime.toInstant(), ZoneId.systemDefault())
.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
thymeleafContext.put("formattedCreateTime", formattedTime);
```
然后在HTML模板里引用变量`formattedCreateTime`:
```html
<td th:text="${formattedCreateTime}" />
```
3. **使用Spring EL表达式和日期转换器**:
首先在Spring配置类中启用日期转换器,然后在模板中使用EL表达式:
```java
@Bean
public MessageConverter dateTimeMessageConverter() {
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
MappingJackson2HttpMessageConverter converter = new MappingJackson2HttpMessageConverter();
converter.setObjectMapper(new ObjectMapper() {{
registerModule(new JavaTimeModule());
configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false);
setDateFormat(formatter);
}});
return converter;
}
// 在模板中使用
<td th:text="${bo.createTime?string('yyyy-MM-dd HH:mm:ss')}" />
```
这里我们使用了Jackson库的定制化`ObjectMapper`来格式化日期。
阅读全文