2012-11-12 27 views
0

我创建了一个24小时的下拉列表,它有一个30分钟的增量,当有人想要到达目的地并且想知道是否有一个好的格式可供使用,以及如何将其转换为类型Time(因为我正在存储它在数据库中作为时间类型)。有没有办法在Ruby on Rails中将小时字符串转换为时间类型?

这是我使用的选项:

def options_for_hours_select 
    [ 
     ['4 AM','4'], 
     ['4:30 AM','430'], 
     #etc 
    ] 
    end 

回答

0

如果你用30个分钟的增量,你可以改变使用数字选项值,如:

def options_for_hours_select 
    [ 
    ["4 AM", 4], 
    ["4:30 AM", 4.5] 
    ] 
end 

然后,当你想将其转换为一次,您可以在一天的开始时添加那么多小时,(ActiveSupport使这一点特别容易)例如:

Date.today + 4.5.hours # gives 4:30AM today 

,如果你有两个参数:date:arrival_time,你可以像这样将它们组合起来:

time = params[:date].to_date + params[:arrival_time].hours 
相关问题