Время между указанным диапазоном - PullRequest
4 голосов
/ 16 марта 2012

У меня запущено задание cron на сервере Rails.Это грабельное задание совершает звонки / SMS абонентам при возникновении какого-либо события.Теперь, когда это событие запускается с 22:00 до 8:00, я хочу сохранить его в очереди, так как никто не любит, когда его беспокоят посреди ночи.Как я могу проверить, находится ли время между 22:00 - 8:00.

Примечание: у каждого пользователя есть свой часовой пояс. Какой у меня в базе данных

Спасибо

Ответы [ 2 ]

6 голосов
/ 16 марта 2012
# 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
3 голосов
/ 16 марта 2012

Может быть что-то вроде ...

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

Может быть использовано:

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