Liferay日期输入显示错误的日期

时间:2018-12-03 15:12:12

标签: date jsp java-8 liferay liferay-7

我正在使用Liferay 7.1,我有以下liferau-ui:input-date对象,我想预选一个日期:

<%
    final LocalDate today = LocalDate.now(ZoneId.systemDefault());
%>

<liferay-ui:input-date
    dayValue="<%= today.getDayOfMonth()%>"
    monthValue="<%=today.getMonth().getValue()%>"
    yearValue="<%= today.getYear()%>"
</liferay-ui:input-date>

当我直接在JSP上输出today的值时,我得到了今天的正确日期:3 12 2018

呈现元素时,它选择了错误的日期:01/03/2019。我认为taglibdocs中没有进一步记载的文件。

我该如何解决?

1 个答案:

答案 0 :(得分:2)

问题在于月份值。在Java中,使用liferay datepicker是1-12,是0-11。 为了显示正确的月份,我从月份值中减去了1。这不是一个优雅的解决方案,但我找不到更好的方法。

<liferay-ui:input-date
    dayValue="<%= today.getDayOfMonth()%>"
    monthValue="<%=today.getMonth().getValue() - 1 %>"
    yearValue="<%= today.getYear()%>"
</liferay-ui:input-date>

这将渲染12/03/2018