从int值获取月份

时间:2013-08-20 08:41:14

标签: java jsp jstl

我可以通过提供month值在JSLT中获得int的名称。 比如,如果i = 1而不是1月,那么没有......

无效

<fmt:formatDate pattern="M" dateStyle="long" value="${monthInt}" />

4 个答案:

答案 0 :(得分:3)

您可以将<jsp:useBean>用作:

<jsp:useBean id="monthNames" class="java.text.DateFormatSymbols" />
<c:set value="${monthNames.months}" var="months" />

现在,我使用与索引相对应的<c:set>初始化了月份列表。 您可以使用months中声明的var来访问它。

您可以将其用作${months[0]},它会为您提供January

希望它能奏效。!!

答案 1 :(得分:2)

JSTL希望Date标记提供fmt:formatDate。在示例中,提供了int。如果您从int对象中提取了此Date,则只需传递Date,而无需提取月份值。

<fmt:formatDate pattern="M" dateStyle="long" value="${someDate}" />

答案 2 :(得分:1)

这不起作用。该标记将Date对象格式化为String,因此value必须为Date。你给的是int

如果您需要一个月份列表,那么您可能需要考虑创建一个列表并将其放入会话中。

答案 3 :(得分:1)

另一种方式:

<fmt:parseDate value="${monthInt}" dateStyle="long" pattern="M" var="monthDate"></fmt:parseDate> 
<fmt:formatDate value="${monthDate}" pattern="MMMM"></fmt:formatDate>