class Time
def seconds_since_midnight
Time.new(2012, 8, 29, 12, 34, 56).seconds_since_midnight # => 45296.0
Time.new(2012, 8, 29, 0, 0, 0).seconds_since_midnight # => 0.0
Returns the number of seconds since 00:00:00.
def seconds_since_midnight to_i - change(hour: 0).to_i + (usec / 1.0e+6) end