我正在创建一个 24 小时下拉列表,在设定的时间内以 30 分钟为增量,当有人想要到达目的地并且想知道是否有一个好的格式可以使用以及如何将它转换为类型时间(因为我将它存储在数据库作为时间类型)。
这些是我正在使用的选项:
def options_for_hours_select
[
['4 AM','4'],
['4:30 AM','430'],
#etc
]
end
我正在创建一个 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
然后,当您想将其转换为时间时,您可以在一天的开始时添加那么多小时,(ActiveSupport 使这变得特别容易)例如:
Date.today + 4.5.hours # gives 4:30AM today
如果你有两个参数:date
and :arrival_time
,你可以像这样组合它们:
time = params[:date].to_date + params[:arrival_time].hours