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

时间:2012-11-12 03:54:01

标签: ruby-on-rails ruby

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

这些是我正在使用的选项:

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

1 个答案:

答案 0 :(得分: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