我的服务器时钟设置为伦敦时间(我目前居住在GMT + 0区域)。 getConfiguredSearchRequired
的输出给了我这个:
getTable().getTableControl(SearchFormTableControl.class).setSelected(true/false);
在我的application.rb文件中,我设置了时区:
timedatectl status
在本地,它的工作正常:
Local time: Mon 2016-05-23 08:13:06 BST Universal time: Mon 2016-05-23 07:13:06 UTC
RTC time: Mon 2016-05-23 07:13:06
Timezone: Europe/London (BST, +0100)
NTP enabled: yes NTP synchronized: no RTC in local TZ: no
DST active: yes Last DST change: DST began at
Sun 2016-03-27 00:59:59 GMT
Sun 2016-03-27 02:00:00 BST Next DST change: DST ends (the clock jumps one hour backwards) at
Sun 2016-10-30 01:59:59 BST
Sun 2016-10-30 01:00:00 GMT
但是在生产中,似乎DST没有开启。
config.time_zone = 'London'
我不确定它是Rails还是服务器配置错误,但对我来说似乎是正确的。
答案 0 :(得分:2)
如果此应用程序在docker容器中运行,则主机服务器的时区可能不会应用于容器。您可以将TZ
环境变量设置为您喜欢的任何时区,并且ruby会将其取出。
我强烈建议不使用非UTC时区作为您的应用程序/数据库,因为它几乎肯定会引起问题。
完全披露:我是dokku维护者之一。