繁体   English   中英

在Rails中处理与时区无关的时间的好方法是什么

[英]What's a good way to deal with timezone-independent time in Rails

我正在构建一个任务计划应用程序,就其时区依赖性而言,我需要两种类型的事件。

所谓与时区无关的时间,是指无论您身在何处,时间都是相同的。 我想将时间设置为8:00 AM,无论我身在何处,我都希望将其视为8:00 AM。 我想将这些用于日常任务,例如当我醒来时。 因为想要在纽约的凌晨8:00醒来,并不意味着想要在洛杉矶的凌晨5:00醒来。 与时区无关

以时区为准,我的意思是说,纽约8:00 AM的会议将是洛杉矶5:00 AM的会议。 其含义取决于时区。

rails中的任何类型的日期和时间信息始终带有时区后缀。 用Rails表示与时区无关的时间的好方法是什么?

与时区无关的传统存储时间的方法是将其存储在UTC中,也称为协调世界时或格林威治标准时间。 在Ruby中,您可以通过在某个时间调用utc方法来转换为此,例如

irb(main):001:0> Time.now.utc
=> 2015-11-08 23:54:21 UTC

UTC时间的时区偏移为零。

由于许多计划方案绝对需要一种表示日期的方法,而没有日期或时区,因此DateTimeTime类都不足够。

考虑改用Tod (一天中的时间)gem

gem install tod

...

require 'tod'
Tod::TimeOfDay.parse "15:30"   # => 15:30:00

文档中的其他示例。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM