active_supportを使うと柔軟に時刻の前後を取得することができます。
Gemfileに以下を貼り付け bundlerでインストールしてから使ってください
source 'https://rubygems.org'
gem 'activesupport'
この記事では2019年10月15日を起点としています
day20191015 = Time.parse('2019/10/15 17:09:20')
前のもの
# 1日前(昨日)
p day20191015.yesterday
# => 2019-10-14 17:09:20 +0900
# 1週間前
p day20191015.weeks_ago(1)
# => 2019-10-08 17:09:20 +0900
# 10日前
p day20191015.days_ago(10)
# => 2019-10-05 17:09:20 +0900
# 1ヶ月前
p day20191015.months_ago(1)
# => 2019-09-15 17:09:20 +0900
後のもの
# 1日後(明日)
p day20191015.tomorrow
# => 2019-10-16 17:09:20 +0900
# 1週間後
p day20191015.weeks_since(1)
# => 2019-10-22 17:09:20 +0900
# 10日後
p day20191015.days_since(10)
# => 2019-10-25 17:09:20 +0900
# 1ヶ月後
p day20191015.months_since(1)
# => 2019-11-15 17:09:20 +0900