我为此苦苦挣扎了一天半,最后才终于走到了一起,部分原因是我从根本上误解了一些事情,因为我对事情应该如何运作的假设,所以我得到的结果似乎完全不合理和令人困惑我开始认为图书馆里的东西一定被严重破坏了。他们不是。
这个线程是为了分享我的问题,以及什么有效,部分原因是在我看来,很多时候日期时间记录应该与其位置的本地时间相关联,而且很多时候应用程序在时区更改方面表现异常我认为这是因为他们不这样做。所以这里是如何做到这一点。
简单的部分是使用 TimeZone gem 来获取位置的时区(我已经有了使用 GMaps4Rails gem 的纬度/经度),如下所述: Ruby gem for find timezone of location
最初,我希望每个日期时间都可以有一个固有的和持久的时区,即使在从数据库中保存和检索之后,因为我们只关心每个事件的本地时区。对于在非本地区域中需要日期时间的不寻常和罕见的情况,我可以转换。但我猜这不存在,因为 MySQL 似乎没有带有日期时间的时区概念,并且只是将所有内容存储为普通的日期和时间。
所以,这很好——数据库存储在 UTC 中,我必须在每个方向上进行转换。
如何?(见下文。)