day_time

24-hour time representation with no dates attached

Installation

Install with Bundler by adding the following line to your Gemfile:

gem "day_time"

Or install via RubyGems:

% gem install day_time

Usage

require "day_time"

morning    = DayTime.new("08:00")
breakfast  = DayTime.new("08:45:00")
noon       = DayTime.new(hours: 12, minutes: 15)
dinner     = DayTime.new(hours: 12, minutes: 15, seconds: 30)
bedtime    = DayTime.new(h: 22, m: 15, s: 30)
end_of_day = DayTime("23:59:59")

foo = DayTime.new(Time.new(...))
bar = DayTime.new(DateTime.new(...))

morning + DayTime.new("00:45") == breakfast
morning + 45 * 60 == breakfast
morning + "00:45" == breakfast

dinner < bedtime
end_of_day > bedtime

(noon..bedtime).include?(dinner) # => true

enum = end_of_day.to_enum
enum.next == DayTime.new("00:00")
enum.next == DayTime.new("00:00:01")

opens, closes = DayTime("10:00"), DayTime("17:00")
(opens..closes).step(60).map { |day_time| day_time.to_s }