Ruby on rails 在RubyonRails中有没有办法将小时字符串转换为时间类型?

Ruby on rails 在RubyonRails中有没有办法将小时字符串转换为时间类型?,ruby-on-rails,ruby,Ruby On Rails,Ruby,我正在创建一个24小时的下拉列表,当有人想要到达目的地时,以30分钟为增量,并想知道是否有一种好的格式可以使用,以及如何将其转换为时间类型(因为我将其作为时间类型存储在数据库中) 以下是我正在使用的选项: def options_for_hours_select [ ['4 AM','4'], ['4:30 AM','430'], #etc ] end 如果使用30分钟增量,则可以更改“使用数字”选项值,如下所示: def optio

我正在创建一个24小时的下拉列表,当有人想要到达目的地时,以30分钟为增量,并想知道是否有一种好的格式可以使用,以及如何将其转换为时间类型(因为我将其作为时间类型存储在数据库中)

以下是我正在使用的选项:

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

如果使用30分钟增量,则可以更改“使用数字”选项值,如下所示:

def options_for_hours_select
  [
    ["4 AM", 4],
    ["4:30 AM", 4.5]
  ]
end
time = params[:date].to_date + params[:arrival_time].hours
然后,当您想将其转换为时间时,您只需在一天的开始添加那么多小时即可(ActiveSupport使这一点特别容易),例如:

如果您有两个参数:日期和到达时间,您可以这样组合它们:

def options_for_hours_select
  [
    ["4 AM", 4],
    ["4:30 AM", 4.5]
  ]
end
time = params[:date].to_date + params[:arrival_time].hours