Ruby调度时钟抽象?需要24小时制。月无关,日无关紧要

时间:2016-06-13 21:36:22

标签: ruby-on-rails ruby

在我的应用程序中,我需要24小时时钟调度程序。月份无关紧要,Day也无关紧要,但将对象保存为日期时间使得比较事情变得困难。

"晨起"美国东部时间上午5:30至上午11点 "下午新闻"上午11点到下午5点 "今晚"从下午5点到晚上10点运行 "总结"晚上10点到凌晨5:30运行

我希望能够说出

FeatureScheduler.get_current_feature => "今晚"如果它说下午6:30

遇到问题让它变得正确'作为日期时间的输入总是想要一天,一个月和一年...但我真的只关心24小时左右的时间安排......当我试图看看Time.now是否在早上5:30到比如上午11点。

对于仅关注24小时制的调度程序的任何建议......在比较中不使用日,月和年?

1 个答案:

答案 0 :(得分:1)

可能是一种优雅的方式来做到这一点,但无论如何,这是我的看法。

require 'time'

class FeatureScheduler
  def self.get_current_feature
    case Time.now.strftime('%R')
    when '05:30'...'11:00'
      'The Morning Take'
    when '11:00'...'17:00'
      'Afternoon News'
    when '17:00'...'22:00'
      'Tonight'
    else
      'Wrap Up'
    end
  end
end

FeatureScheduler.get_current_feature
#=> "Wrap Up"