module DateAndTime::Calculations

def end_of_month

DateTime objects will have a time set to 23:59:59.
Returns a new date/time representing the end of the month.
def end_of_month
  last_day = ::Time.days_in_month(month, year)
  last_hour(days_since(last_day - day))
end