Java JSTL<;fmt:formatData>;时区问题

Java JSTL<;fmt:formatData>;时区问题,java,jsp,jstl,Java,Jsp,Jstl,如果我在欧洲、德国,我使用: <fmt:formatDate value="${now}" type="BOTH" timeZone="America/Los_Angeles"/> 日期和时间的格式始终为 17-05-2011 1.32.10 而不是像英文格式的第一个月和第二天 只更正时区 为什么? 谢谢。您需要覆盖模式此外,覆盖时区不会改变输出格式 <fmt:formatDate value="${now}" type="BOTH" timeZone="America/

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

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

日期和时间的格式始终为

17-05-2011 1.32.10

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

只更正时区

为什么?


谢谢。

您需要覆盖
模式
此外,覆盖
时区
不会改变输出格式

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

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

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

javax.servlet.jsp.jstl.fmt.locale
恩努斯

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

因此,如果此标记无法自动转换为日期的本地格式,我认为它不是很有用。奇怪的是,说明书里没有说!区域设置是否保存日期模式?此外,还可以自定义区域设置。那么您将如何在标记中处理它呢?如果我指定一个模式属性,那么我想使用它,容器应该使用它,这与时区属性有关。好的,我找到了解决方案,我必须在每个操作之前指定要使用的区域设置:因此我不能验证模式!!!是的,它会这样做,但会迫使程序员知道区域设置格式模式。