ActiveSupport (часть инфраструктуры Rails, но может использоваться отдельно) расширяет стандартный класс Date библиотеки с функциями, подходящими для ваших целей.Если у вас еще не установлен Rails, просто установите ActiveSupport:
gem install activesupport
Тогда в своем коде вы можете использовать его следующим образом:
require 'rubygems'
require 'active_support'
# Get today's date
today = Date.today
# These are in the standard library Date class
today.year
=> 2010
today.month
=> 7
today.day
=> 10
today.wday
=> 6
# These are added by ActiveSupport
date = today.beginning_of_month
=> Thu Jul 01 2010
date.end_of_month
=> Sat Jul 31 2010
date.prev_month
=> Tue, 01 Jun 2010
date.next_month
=> Sun, 01 Aug 2010
date + 2.months
=> Wed, 01 Sep 2010
date - 2.months
=> Sat, 01 May 2010
См. Документацию для деталей.