百里香叶+春枣转换

时间:2016-10-18 11:21:36

标签: thymeleaf

This is my data model

这是我的数据模型。我想从这里使用日期。

我在我的html中执行此操作:

<table th:if="${!commentsInTask.empty}">

    <tbody>
    <tr th:each="Comments : ${commentsInTask}">
    <tr th:each="comment : ${Comments}">
        <td th:text="${comment.user}">user ...</td>

        <td th:text="${comment.createdAt}">date ...</td>
    </tr>
    </tr>
    </tbody>
</table>

但它带来了:

<table>

    <tbody>
         <td>JACK</td>

        <td>1.476787930289E9</td>
    </tr>
    </tr>
    </tbody>
</table>

这部分是unix timedate: 1.476787930289E9

但是在我发布的图片中,你看到了。蒂姆不是那个。

这是在域

    public String getCreatedAtString() {
        return createdAtString;
    }

    public TaskComment setCreatedAtString(String createdAtString) {
        this.createdAtString = createdAtString;
        return this;
    }
private ZonedDateTime createdAt = ZonedDateTime.now();

为什么我会在日期格式中看到开头的图片?

1 个答案:

答案 0 :(得分:6)

使用Thymeleaf格式:

<td th:text="${#dates.format(comment.createdAt, 'dd-MM-yyyy HH:mm:ss')}">date</td>

您将获得以下格式的输出:18-Oct-2016 14:44:05

#datesjava.util.Date个对象的方法:格式化,组件提取等

要将createdAt字段转换为java.util.Date类型,请使用:

Date date = Date.from(java.time.ZonedDateTime.now().toInstant());

或者只使用java.util.Date类型:

private Date createdAt = new Date();

这会将cheatedAt设置为当前日期。

此外,您可以为项目添加thymeleaf-extras-java8time依赖项,以使用ZonedDateTime类型。

此模块添加一个#temporals对象,类似于标准方言中的#dates#calendars对象,允许从Thymeleaf模板中格式化和创建时态对象:

enter image description here

然后您可以使用具有指定模式的ZoneDateTime

${#temporals.format(temporal, 'dd/MM/yyyy HH:mm')}

请参阅Thymeleaf - Module for Java 8 Time API compatibility