Rails datetime\u选择时区
我正在编写一个简单的日历应用程序,在时区方面遇到了麻烦。对于尽可能多的好的日期和时间助手,动作视图和活动记录肯定不能很好地处理时区 我有一个约会模型,带有约会时间属性,它是一个日期时间 我当前的问题是在表单标记中使用datetime\u select编辑约会时间Rails datetime\u选择时区,datetime,ruby-on-rails-4,timezone,Datetime,Ruby On Rails 4,Timezone,我正在编写一个简单的日历应用程序,在时区方面遇到了麻烦。对于尽可能多的好的日期和时间助手,动作视图和活动记录肯定不能很好地处理时区 我有一个约会模型,带有约会时间属性,它是一个日期时间 我当前的问题是在表单标记中使用datetime\u select编辑约会时间 <%= datetime_select :appointment_time, @appt.appt_time,ampm: true %> def appt_time appointment_time.in_time_z
<%= 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
def应用程序时间
约会时间。在时区(时区)#这是约会所有者的时区
结束
使用UTC中的当前日期和时间而不是约会日期和时间进行选择appt_time
确实会被调用,并返回为时区调整的正确日期和时间
文档中没有提到时区,实现它的最佳方法是什么?看起来问题在于您的select标记,而不是时区偏移量。看起来你想要
<%= datetime_select "appointment", "appointment_time", default: @appt.appt_time, ampm: true %>
太好了,谢谢。希望这也能用于生产。玩弄它,前两个论点中的内容似乎根本不重要。它与前两个参数中的“appt_time”一样有效。再次感谢!很高兴它成功了。您可能还需要在应用程序控制器中设置Time.zone方法。如果设置Time.zone='Hawaii',则返回datetime对象的后续调用将自动应用指定的时区偏移量。前两个参数将在您想要更新时计算-它们需要正确映射到params哈希中的对象和方法。