0

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

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

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

1 回答 1

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

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

time = params[:date].to_date + params[:arrival_time].hours
于 2012-11-12T04:08:08.677 回答