我有一个rails应用程序,它保存来自不同提供者的日期/时间信息,用于日程安排信息。然后,我需要提取这些数据来查看一系列时间表。Rails正在将其转换为UTC时间。有没有办法保存日期和时间而不需要翻译?
例如,他们会给我他们的本地日期/时间(我不知道他们在哪里),而我需要以输入的方式将其返回给用户。
发布于 2016-01-15 22:10:27
有一项设置允许将日期保存在本地时区,而不是UTC。在application.rb中,您需要设置:
config.active_record.default_timezone = :local另外,如果你不想用这种方式节省所有的时间,我建议你浏览一下this timestamp documentation。具体地说,您可以在类中添加以下行:
self.skip_time_zone_conversion_for_attributes = [:written_on]发布于 2016-01-15 22:11:39
您可以创建一个额外的列,并将用户输入存储为字符串。这样,您可以选择在保存时将其转换为DateTime对象,并保存用户提交的原始字符串。应该能让你两全其美。
在您的模型中,例如:
before_save :convert_time
def convert_time
# save the timestamp in the format you need
self.time = DateTime.strptime(user_input_time, "%Y-%m-%dT%H:%M:%S%z")
end这样,您就可以在视图中获得用户输入
<%= your_object.user_input_time %>https://stackoverflow.com/questions/34812769
复制相似问题