Grails应用程序服务多个时区

在具有多个时区的用户的grails应用程序中处理时区的正确方法是什么?对于muilt timezone Grails应用程序是否有标准方法?也许Rails处理多时区支持的方式有类似的东西?
http://mad.ly/2008/04/09/rails-21-time-zone-support-an-overview/

有没有办法设置每个用户会话的当前时区?这意味着您可能有多个活动用户会话,其中不同的时区用于处理“日期”.

我试图避免手动处理时区转换.

谢谢

最佳答案 首先,向用户提供一个选择 – 他所在的时区通常是一个好主意.你可以尝试从他的设置中推断它,但这不可靠.在grails中,您可以让用户通过以下方式选择他的时区:

<g:timeZoneSelect name="myTimeZone" />

请注意,value属性默认为当前的Locale.所以我猜grails的默认localeresolver会很好地猜测用户的语言环境.

要使其工作,您需要将所有时间存储在UTC中的数据库中(或者为整个应用程序修复的另一个时区)

<g:formatDate>的文档声称它只有3个属性,但似乎至少从version 1.2开始它支持timeZone属性.所以你必须把timeZone =“${currentUser.timeZone}”

点赞