module DateAndTime::Calculations

def beginning_of_month

now.beginning_of_month # => Mon, 01 Jun 2015 00:00:00 +0000
now = DateTime.current # => Thu, 18 Jun 2015 15:23:13 +0000

+DateTime+ objects will have a time set to 0:00.

today.beginning_of_month # => Mon, 01 Jun 2015
today = Date.today # => Thu, 18 Jun 2015

Returns a new date/time at the start of the month.
def beginning_of_month
  first_hour(change(day: 1))
end