Skip to content

Instantly share code, notes, and snippets.

@dvogt23
Created November 25, 2024 20:31
Show Gist options
  • Save dvogt23/0e3774688cea3993b044186b5df6c73d to your computer and use it in GitHub Desktop.
Save dvogt23/0e3774688cea3993b044186b5df6c73d to your computer and use it in GitHub Desktop.
ruby quarter hour range method
module TimeHelper
def quarter_hour_range(timestamp)
array = timestamp.to_a
# 1-4th qurater of a hour
quarter = ((array[1] % 60) / 15.0).ceil - 1
# 0/15/30/45 start of a quarter
start_minute = (quarter * 15) % 60
end_minute = (start_minute + 15) % 60
array[0] = 0 # set seconds to zero
array[1] = start_minute
start_time = Time.zone.local(*array)
array[1] = end_minute
end_time = Time.zone.local(*array) - 1.second
end_time = start_time.end_of_hour if end_minute.zero?
(start_time..end_time)
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment