f:onvertDateTime不将UTC日期更改为给定时区
我有一个primefaces数据表,它在其列上呈现一些日期值。这些列将使用以下方式显示:f:onvertDateTime不将UTC日期更改为给定时区,date,jsf,jsf-2,timezone,converter,Date,Jsf,Jsf 2,Timezone,Converter,我有一个primefaces数据表,它在其列上呈现一些日期值。这些列将使用以下方式显示: <h:outputText value="#{token.callDate}"> <f:convertDateTime pattern="dd-MMM-yyyy HH:mm" timeZone = "America/New_York"/> </h:outputText> 因此,预期行为是:如果我有一个日期“20
<h:outputText value="#{token.callDate}">
<f:convertDateTime pattern="dd-MMM-yyyy HH:mm"
timeZone = "America/New_York"/>
</h:outputText>
因此,预期行为是:如果我有一个日期“2016年2月24日22:55:00”,则渲染值必须是“2016年2月24日17:55:00”,但渲染日期保持不变“2016年2月24日22:55:00”
服务器时区为“美国/墨西哥城”
我做错什么了吗?、缺少什么了吗?、‘f:convertDateTime’是否不具备这种功能?如果您有任何想法,我们将不胜感激。目前提供的信息中没有这个问题。当copy'n'pasted'n'在一个完全空白的游乐场项目上执行时,所有内容都设置为默认值,并且运行最新的库/服务器版本,代码片段对我们所有人都非常有用。作为一个有根据的猜测,我是否可以假设您在实际代码中使用了类似于
timeZone=“#{tableRowItem.timeZone}”
的东西,并在问题中通过硬编码将其过度简化,而没有亲自测试更改的代码段?如果是这样,那么这是一个重复:非常感谢你的回答,并为没有尽可能清楚表示歉意。“timeZone”属性的值是一个托管Bean属性,它不会为每一行更改。正在“@PostConstruct”方法上填充此属性。我还通过硬编码“时区”测试了转换器,它具有相同的行为。我的应用程序使用spring、JSF2.1和primefaces,它运行在ApacheTomcat8服务器上。