加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 为什么Rails以UTC格式存储时间?

发布时间:2020-12-17 02:43:28 所属栏目:百科 来源:网络整理
导读:通常,Rails会以UTC时间在数据库中存储所有时间.如果将时区设置为其他区域,则在保存到数据库或从中检索时,它会在该区域和UTC之间自动转换. 这种方法有哪些优点?有什么缺点吗?有没有办法让Rails使用不同的时区? 我认为一些优点可能是: UTC消除了季节性时间
通常,Rails会以UTC时间在数据库中存储所有时间.如果将时区设置为其他区域,则在保存到数据库或从中检索时,它会在该区域和UTC之间自动转换.

这种方法有哪些优点?有什么缺点吗?有没有办法让Rails使用不同的时区?

我认为一些优点可能是:

> UTC消除了季节性时间变化的模糊性
>您可以向不同用户显示不同的时区,同时保持数据库中的一致性

我能想到的唯一缺点是,对于所有用户实际位于同一时区的内部应用程序,这种差异使得根据本地时间运行原始SQL查询变得更加困难.

解决方法

这个问题有一点宗教感,但我会根据我的个人经验回答这个问题.

始终以明确的形式存储日期.在UTC中存储日期几乎就是这方面的标准.

好处:

>您可以在数据库中对日期时间进行简单的数学运算,而无需转换它们.
>您可以调整表示层的日期显示
> Web应用程序可以使用一点点javascript来显示本地时间

缺点:

>您需要将所有时间转换为显示的某个“本地”时间
> Localtime< - > UTC转换会产生很小的处理惩罚

你能让铁路做一些与众不同的事吗?可能,但我从来没有尝试,因为它只是太多的工作来对抗恕我直言是一个明智的设计.

从“只使用我的时区”的意义上使用UTC是否有意义?是.您的服务器可能位于加利福尼亚州,您的用户位于纽约,并且在这种情况下决定当地时间.服务器?用户?迈克,他刚刚出差一周在伦敦?在这种情况下,你使用什么时区?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读