我需要获取客户端的时区才能将其传递给页面上的组件参数。该页面使用一个 bean,它使用 EL 表达式从该 bean 接收数据。如何获取服务器时区,我知道:
TimeZone.getDefault()
如何在客户端获取时区(我需要时区 ID):
new Date().toTimeString().split('(')[1].toString().replace(')','');
value但我不知道如何将客户端时区 ID 的值传递给 bean(或者,也许,立即在 bean 中获取),或者直接传递给组件。请提出任何选择。
正如您在客户端已经了解的那样,您可以从时间获取区域,因此您可以创建一个隐藏字段,您可以在其中使用 js 设置当前时间,并使用 ajax 或提交时将此字段的值传递给服务器形式。解析服务器上的日期,获取区域,然后做任何你想做的事情。如果您为不同的区域而烦恼,那么我建议您将所有内容以 UTC 格式存储在服务器和数据库中。
这是使用PrimeFaces找到的示例