Диапазон времени суток в Ruby?

Я хочу знать, принадлежит ли время расписаниюили другому.

В моем случай для расчета, если времянаходится в ночном расписанииили нормальном расписании.

Я пришел к этому решению:

NIGHT = ["21:00", "06:00"]
def night?( date )
  date_str = date.strftime( "%H:%M" )
  date_str > NIGHT[0] || date_str < NIGHT[1]
end

Но я думаю, не очень элегантно, а также работает только для этого конкретного случая, а не для каждого временного диапазона .

(я нашел несколько похожих вопросов SO , но все они ссылаются на Датадиапазоны отсутствуют Времядиапазоны)

Обновлено

Решение должно работать для случайных диапазонов времени не только для этого конкретного, скажем:

"05:00"-"10:00"
"23:00"-"01:00"
"01:00"-"01:10"
6
задан Michael Slade 6 April 2012 в 18:16
поделиться