module DateAndTime::Calculations

def prev_week(start_day = Date.beginning_of_week, same_time: false)

DateTime objects have their time set to 0:00 unless +same_time+ is true.
+Date.beginning_of_week+ or +config.beginning_of_week+ when set.
Week is assumed to start on +start_day+, default is
Returns a new date/time representing the given day in the previous week.
def prev_week(start_day = Date.beginning_of_week, same_time: false)
  result = first_hour(weeks_ago(1).beginning_of_week.days_since(days_span(start_day)))
  same_time ? copy_time_to(result) : result
end