【问题标题】:Rails datetime_select with time zoneRails datetime_select 与时区
【发布时间】:2015-12-04 22:19:54
【问题描述】:

我正在编写一个简单的日历应用程序,但遇到了时区问题。对于许多不错的日期和时间助手,动作视图和活动记录肯定不适合时区。

我有一个约会模型,其约会时间属性是一个日期时间。

我当前的问题是在表单标签中使用 datetime_select 编辑约会时间。

<%= datetime_select :appointment_time, @appt.appt_time,ampm: true %>

def appt_time
  appointment_time.in_time_zone(time_zone) #this is the appointment owners time zone
end

以 UTC 格式选择当前日期和时间,而不是约会日期和时间。 appt_time 确实被调用并返回为时区调整的正确日期和时间。

文档没有提到时区,实现它的最佳方法是什么?

【问题讨论】:

    标签: datetime ruby-on-rails-4 timezone


    【解决方案1】:

    看起来问题出在您的选择标签上,而不是时区偏移量。看起来像你想要的

    <%= datetime_select "appointment", "appointment_time", default: @appt.appt_time, ampm: true %>                                                                                                         
    

    【讨论】:

    • 完美,谢谢。希望这也适用于生产。玩弄它,前两个参数中的内容似乎根本不重要。它与前两个参数中的“appt_time”一样有效。再次感谢!
    • 很高兴它成功了。您可能还想在应用程序控制器中设置 Time.zone 方法。如果您设置 Time.zone = 'Hawaii' 则返回日期时间对象的后续调用将自动应用指定的时区偏移量。
    • 当您想要更新时,前两个参数将计算在内 - 它们需要正确映射到您的参数哈希中的对象和方法。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-02-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多