check time between 9.30 to 4 ruby

后端 未结 4 728
刺人心
刺人心 2020-12-31 11:41

i have a code that erroneously produces it and i am thinking that there must be a better way to check for time >9.30 am and time <4 pm any ideas is highly appreicated.<

相关标签:
4条回答
  • 2020-12-31 12:18

    Working in a mixed version environment and needing this exact method here's what I put in my code:

    if RUBY_VERSION == "1.9.3"
      def check_time(starthour,endhour,t=Time.now)
        early = Time.new(t.year, t.month, t.day, starthour, 0, 0)
        late  = Time.new(t.year, t.month, t.day, endhour, 0, 0)
        t.between?(early, late)
      end
    elsif RUBY_VERSION == "1.8.7"
      def check_time(starthour,endhour,t=Time.now)
        early = Time.local(t.year, t.month, t.day, starthour, 0, 0)
        late  = Time.local(t.year, t.month, t.day, endhour, 0, 0)
        t.between?(early, late)
      end
    end
    
    0 讨论(0)
  • 2020-12-31 12:30
    def check_time(t=Time.now)
      early = Time.new(t.year, t.month, t.day, 9, 30, 0, t.utc_offset)
      late  = Time.new(t.year, t.month, t.day, 16, 0, 0, t.utc_offset)
      t.between?(early, late)
    end
    
    0 讨论(0)
  • 2020-12-31 12:41
    t = Time.now
    
    Range.new(
      Time.local(t.year, t.month, t.day, 9),
      Time.local(t.year, t.month, t.day, 16, 30)
    ) === t
    
    0 讨论(0)
  • 2020-12-31 12:43

    Just:

    def checkTime
      return ((Time.now.hour * 60) + Time.now.min) >= 570 && ((Time.now.hour * 60) + Time.now.min) < 960
    end
    
    0 讨论(0)
提交回复
热议问题