JSTL formatDate 始终将模式“MMM”格式化为“MMM”。至“Jan”

发布于 2024-10-18 23:13:25 字数 723 浏览 3 评论 0原文

在 foreach 循环中,我设置 curMonthcurDisplayedMonth 如下:

<fmt:formatDate value="${curDate}" type="date" pattern="m" var="curMonth" />
<fmt:formatDate value="${curDate}" type="date" pattern="MMM" var="curDisplayedMonth" />

并在下拉列表中使用它们,

<option value="<c:out value="${curMonth}"/>" <c:if test="${selectedMonth == curMonth}">selected</c:if>>
<c:out value="${curDisplayedMonth}"/>
</option>

但它会将所有格式设置为 Jan:


在此处输入图像描述


并且选项中的值正确:


“在此输入图像描述”

In a foreach loop, I set curMonth and curDisplayedMonth as follows:

<fmt:formatDate value="${curDate}" type="date" pattern="m" var="curMonth" />
<fmt:formatDate value="${curDate}" type="date" pattern="MMM" var="curDisplayedMonth" />

and use them in the dropdown list as

<option value="<c:out value="${curMonth}"/>" <c:if test="${selectedMonth == curMonth}">selected</c:if>>
<c:out value="${curDisplayedMonth}"/>
</option>

but it formats all to Jan:


enter image description here


and the values in the options are correct:


enter image description here

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

失与倦" 2024-10-25 23:13:25

您需要更正您的pattern 选项。要使用 JSTL formatDate 显示月份,请使用以下选项:

<%-- Displays numeric month (ex: 1) --%>
<fmt:formatDate value="${curDate}" pattern="M" />

<%-- Displays  two-digit numeric month (ex: 01) --%>
<fmt:formatDate value="${curDate}" pattern="MM" />

<%-- Displays  the month abbreviation (ex: Jan) --%>
<fmt:formatDate value="${curDate}" pattern="MMM" />

<%-- Displays  the full month name (ex: January) --%>
<fmt:formatDate value="${curDate}" pattern="MMMM" />

另外,在上面的示例中:

<fmt:formatDate value="${curDate}" type="date" pattern="m" var="curMonth" />

pattern="m" 代表分钟。

You need to correct your pattern option. For displaying the month with JSTL formatDate, use the following options:

<%-- Displays numeric month (ex: 1) --%>
<fmt:formatDate value="${curDate}" pattern="M" />

<%-- Displays  two-digit numeric month (ex: 01) --%>
<fmt:formatDate value="${curDate}" pattern="MM" />

<%-- Displays  the month abbreviation (ex: Jan) --%>
<fmt:formatDate value="${curDate}" pattern="MMM" />

<%-- Displays  the full month name (ex: January) --%>
<fmt:formatDate value="${curDate}" pattern="MMMM" />

Also, in your example above:

<fmt:formatDate value="${curDate}" type="date" pattern="m" var="curMonth" />

pattern="m" represents the minute.

丶视觉 2024-10-25 23:13:25

typepattern 属性是互斥的。您可以使用其中之一,但不能同时使用两者。

type 属性只是指定某些常见模式的便捷方法。

如果您想使用pattern,则应删除type="date" 属性。

The type and pattern attributes are mutually exclusive. You use one or the other, but not both.

The type attribute is just a convenient way to specify certain common patterns.

If you want to use pattern, you should remove the type="date" attributes.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文