我正在为我和我的朋友创建一个赛车网站。当用户创建他们的帐户时,从我用ActiveSupport::TimeZone
填充的select中选择他们的时区。
当用户创建一个比赛时,他们可以选择比赛发生的时间和时区。例子:
用户已选择他们的时区为莫斯科,距离UTC -10小时。然后,另一个用户创建一个比赛,并选择布达佩斯时区下午3点的时间,比UTC多3个小时。
我试图找出如何计算什么比赛时间将在布达佩斯的时区,但我在挣扎,我错过了一个简单的方法来做到这一点?
希望你明白我的意思。
Eef以UTC存储所有时间——使用activessupport::Timezone.local_to_utc.
当显示时间时,使用activessupport::Timzezone.utc_to_local.
将该用户的时间转换回本地时间。= ActiveSupport::TimeZone.utc_to_local
(from gem activesupport-3.0.8)
------------------------------------------------------------------------------
utc_to_local(time)
------------------------------------------------------------------------------
Adjust the given time to the simultaneous time in the time zone represented by
self. Returns a Time.utc() instance -- if you want an
ActiveSupport::TimeWithZone instance, use Time#in_time_zone() instead.