Ruby on rails Rails时间选择具有两个范围
我必须显示一个选择框,其时间从上午9点到上午11点,然后是下午1点到下午3点,总共15分钟,如下所示:Ruby on rails Rails时间选择具有两个范围,ruby-on-rails,ruby,ruby-on-rails-3,Ruby On Rails,Ruby,Ruby On Rails 3,我必须显示一个选择框,其时间从上午9点到上午11点,然后是下午1点到下午3点,总共15分钟,如下所示: 9:00 AM 9:15 AM 9:30 AM . . . 10:45 AM 11:00 AM 01:00 PM 01:15 PM 01:30 PM . . . 2:45 PM 3:00 PM 上述范围是动态的,但有两个间隔。如何实现这一点?首先定义边界 start_time = DateTime.parse("9 AM").to_i start_interval = DateTime.pa
9:00 AM
9:15 AM
9:30 AM
.
.
.
10:45 AM
11:00 AM
01:00 PM
01:15 PM
01:30 PM
.
.
.
2:45 PM
3:00 PM
上述范围是动态的,但有两个间隔。如何实现这一点?首先定义边界
start_time = DateTime.parse("9 AM").to_i
start_interval = DateTime.parse("11 AM").to_i
end_interval = DateTime.parse("1 PM").to_i
end_time = DateTime.parse("3 PM").to_i
然后使用范围
和选择
获得所需值
values = (start_time..end_time).step(15.minutes).select{|t| t <= start_interval || t >= end_interval }
您可以在控制台中尝试此操作
> (start_time..end_time).step(15.minutes).select{|t| t <= start_interval || t >= end_interval }.map{ |t| Time.at(t).utc.to_datetime.strftime("%H:%M %p") }
=> ["09:00 AM", "09:15 AM", "09:30 AM", "09:45 AM", "10:00 AM", "10:15 AM", "10:30 AM", "10:45 AM", "11:00 AM", "13:00 PM", "13:15 PM", "13:30 PM", "13:45 PM", "14:00 PM", "14:15 PM", "14:30 PM", "14:45 PM", "15:00 PM"]
>(开始时间..结束时间).步骤(15.分钟).选择{t | t=结束时间间隔}.map{t | time.at(t).utc.to_datetime.strftime(“%H:%M%p”)}
=>[“09:00 AM”,“09:15 AM”,“09:30 AM”,“09:45 AM”,“10:00 AM”,“10:15 AM”,“10:30 AM”,“10:45 AM”,“11:00 AM”,“13:00 PM”,“13:15 PM”,“13:30 PM”,“13:45 PM”,“14:00 PM”,“14:15 PM”,“14:30 PM”,“14:45 PM”,“15:00 PM”]
首先定义边界
start_time = DateTime.parse("9 AM").to_i
start_interval = DateTime.parse("11 AM").to_i
end_interval = DateTime.parse("1 PM").to_i
end_time = DateTime.parse("3 PM").to_i
然后使用范围
和选择
获得所需值
values = (start_time..end_time).step(15.minutes).select{|t| t <= start_interval || t >= end_interval }
您可以在控制台中尝试此操作
> (start_time..end_time).step(15.minutes).select{|t| t <= start_interval || t >= end_interval }.map{ |t| Time.at(t).utc.to_datetime.strftime("%H:%M %p") }
=> ["09:00 AM", "09:15 AM", "09:30 AM", "09:45 AM", "10:00 AM", "10:15 AM", "10:30 AM", "10:45 AM", "11:00 AM", "13:00 PM", "13:15 PM", "13:30 PM", "13:45 PM", "14:00 PM", "14:15 PM", "14:30 PM", "14:45 PM", "15:00 PM"]
>(开始时间..结束时间).步骤(15.分钟).选择{t | t=结束时间间隔}.map{t | time.at(t).utc.to_datetime.strftime(“%H:%M%p”)}
=>[“09:00 AM”,“09:15 AM”,“09:30 AM”,“09:45 AM”,“10:00 AM”,“10:15 AM”,“10:30 AM”,“10:45 AM”,“11:00 AM”,“13:00 PM”,“13:15 PM”,“13:30 PM”,“13:45 PM”,“14:00 PM”,“14:15 PM”,“14:30 PM”,“14:45 PM”,“15:00 PM”]
你到底想要实现什么?我需要时间一样的东西,但需要一些时间不在这里列出你到底想要实现什么?我需要时间一样的东西,但需要一些时间不在那里列出