2014-01-09 3 views

답변

0

@Santosh 말했듯이 당신은 열을 저장하고 당신이 시간 범위에 대해 뭔가를 확인해야하는 경우 다음이 유용한 클래스를 사용할 수 있습니다

Time-of-day range in Ruby?

class TimeRange 
    private 

    def coerce(time) 
     time.is_a? String and return time 
     return time.strftime("%H:%M") 
    end 

    public 

    def initialize(start,finish) 
     @start = coerce(start) 
     @finish = coerce(finish) 
    end 

    def include?(time) 
     time = coerce(time) 
     @start < @finish and return (@[email protected]).include?(time) 
     return !(@[email protected]).include?(time) 
    end 
end 

이 방법을 사용할 수 있습니다 :

irb(main):013:0> TimeRange.new("02:00","01:00").include?(Time.mktime(2010,04,01,02,30)) 
=> true 
irb(main):014:0> TimeRange.new("02:00","01:00").include?(Time.mktime(2010,04,01,01,30)) 
=> false 
irb(main):015:0> TimeRange.new("01:00","02:00").include?(Time.mktime(2010,04,01,01,30)) 
=> true 
irb(main):016:0> TimeRange.new("01:00","02:00").include?(Time.mktime(2010,04,01,02,30)) 
=> false 
관련 문제