JSTL <fmt:formatdata>时区问题</fmt:formatdata>

时间:2011-05-17 08:27:30

标签: java jsp jstl

如果我在欧洲,德国和我使用:

<fmt:formatDate value="${now}" type="BOTH" timeZone="America/Los_Angeles"/>

日期和时间格式始终为

17-05-2011 1.32.10

而不是第一个月和第一天的英文格式。

仅纠正时区。

为什么?

感谢。

2 个答案:

答案 0 :(得分:1)

您还需要覆盖pattern,覆盖timezone不会更改输出格式

<fmt:formatDate value="${now}" type="BOTH" timeZone="America/Los_Angeles" pattern="MM/dd/yyyy HH:mm"/>

答案 1 :(得分:1)

如果您不想使用显式模式并且总是希望强制使用单个区域设置,则可以尝试在web.xml中包含以下内容:

<context-param>
    <param-name>javax.servlet.jsp.jstl.fmt.locale</param-name>
    <param-value>en_US</param-value>
</context-param>

您不应该使用<fmt:setLocale>这种方法。您还可以通过javax.servlet.jsp.jstl.core.Config类获取和设置配置数据(例如,在侦听器,过滤器或servlet中)。