あなたHH:MM
が文字列であり、それらが常にゼロで埋められている場合 (例: "03:08")、単純な文字列比較を使用できます:
irb:02> first = "03:17"; last = "11:54"
#=> "11:54"
irb:03> range = first..last
#=> "03:17".."11:54"
irb:04> range.include? "00:00"
#=> false
irb:05> range.include? "03:50"
#=> true
irb:06> range.include? "03:09"
#=> false
irb:07> range.include? "12:17"
#=> false
irb:08> range.include? "11:17"
#=> true
STARTTIME と ENDTIME が のインスタンスとして Ruby に取り込まれる場合はTime
、それらを文字列に変換するメソッド ( my_time.strftime('%H:%M')
) を作成するか、単純にコンパレータを作成することができます。
# Returns true if hour:min is between the times in t1 and t2
def between(hour,min,t1,t2)
t1.hour<=hour && hour<=t2.hour && t1.min<=min && min<=t2.min
end