保存Rails的记录与特定的时区

如何保存柏林的事件有自己特定的时区,并蒂华纳与一个不同的下一个事件?

用户被要求选择一个城市事件,作为如+02来源:00。

我想收到这样的时间码:

eventstart = "2011-07-22T18:00:00+02:00"

你会如何​​去创造这种形式?

更新:

实现了节能标准UTC是罚款的原因有很多。 所以,现在我改变一时间字符串中的视图来显示一个* distance_to_time_in_words *为eventstart,这取决于用户的本地时间。

事件在蒂华纳,距离柏林时间观看:

old_zone = Time.zone #=> "Berlin" Time.zone = "Tijuana" t = Time.zone.parse(eventstart.to_s[0..-7]) #=> 2011-07-22 18:00:00 +08:00 Time.zone = old_zone #=> "Berlin" distance_of_time_in_words(Time.now.in_time_zone, t) #=> "9 hours"

麻烦,但工程现在。 改进想法表示欢迎!

--------------解决方案-------------

一个TIME_ZONE列添加到您的数据库,并使用time_zon​​e_select在表单,让用户选择,他是创建事件TIME_ZONE。

而在模型,你可以隐蔽的日期时间到区域特定日期时间和存储UTC在数据库中。 你可以使用助手类似下面

def local_time(date)
Time.use_zone(self.time_zone) do
Time.zone.at(date.to_i)
end
end

分类:Ruby on Rails的 时间:2015-03-15 人气:0
本文关键词: Ruby on Rails的,时区
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 0.338 (s). 10 q(s)