指定范围之间的时间

时间:2012-03-16 14:08:59

标签: ruby ruby-on-rails-3 datetime time

我在Rails服务器上运行了一个cron作业。当某些事件触发时,此rake任务会向订阅者发出呼叫/ SMS。现在当这个事件在晚上10点到早上8点之间触发时,我想将它存储在队列中,因为没有人喜欢在半夜受到干扰。如何检查时间是否在晚上10点到早上8点之间。

注意:每个用户都有自己的时区..我在数据库中有这个时区

由于

2 个答案:

答案 0 :(得分:6)

# here "-07:00" is example of user's timezone offset 
if Time.now.getlocal("-07:00").hour.between?(8, 22) 
  #then we send
else
  #we don't send
end

答案 1 :(得分:3)

也许像......

def night_time?(t)
  t.hour > 22 || t.hour < 8
end

可以使用:

store_in(queue) if not night_time?(@time)