Railsドキュメント

日時関連

説明

日時関連の便利関数

tomorrow

説明

翌日の日時を取得

使い方

日時.tomorrow

翌日の日時を取得
DateTime.new(2011, 12, 24, 00, 00, 00).tomorrow
#  Sun, 25 Dec 2011 00:00:00 +0000

その他

標準関数で代替
DateTime.new(2011, 12, 24, 00, 00, 00) + 1
#  Sun, 25 Dec 2011 00:00:00 +0000

yesterday

説明

前日の日時を取得

使い方

日時.yesterday

前日の日時を取得
DateTime.new(2011, 12, 24).yesterday
#  Fri, 23 Dec 2011 00:00:00 +0000

その他

標準関数で代替
DateTime.new(2011, 12, 24) - 1
#  Fri, 23 Dec 2011 00:00:00 +0000

prev_year

説明

去年の日時を取得

使い方

日時.prev_year

去年の日時を取得
DateTime.new(2011, 12, 24, 00, 00, 00).prev_year
#  Fri, 24 Dec 2010 00:00:00 +0000

その他

標準関数で代替
DateTime.new(2011, 12, 24, 00, 00, 00) << 12
#  Fri, 24 Dec 2010 00:00:00 +0000

next_year

説明

来年の日時を取得

使い方

日時.next_year

来年の日時を取得
DateTime.new(2011, 12, 24, 00, 00, 00).next_year
#  Mon, 24 Dec 2012 00:00:00 +0000

その他

標準関数で代替
DateTime.new(2011, 12, 24, 00, 00, 00) >> 12
#  Mon, 24 Dec 2012 00:00:00 +0000

prev_month

説明

先月の日時を取得

使い方

日時.prev_month

先月の日時を取得
DateTime.new(2011, 12, 24, 00, 00, 00).prev_month
# Thu,  24 Nov 2011 00:00:00 +0000

その他

標準関数で代替
DateTime.new(2011, 12, 24, 00, 00, 00) << 1
# Thu,  24 Nov 2011 00:00:00 +0000

next_month

説明

来月の日時を取得

使い方

日時.next_month

来月の日時を取得
DateTime.new(2011, 12, 24, 00, 00, 00).next_month
# Tue,  24 Jan 2012 00:00:00 +0000

その他

標準関数で代替
DateTime.new(2011, 12, 24, 00, 00, 00) >> 1
# Tue,  24 Jan 2012 00:00:00 +0000

beginning_of_week

説明

週の初めの日時を取得

使い方

日時.beginning_of_week

今週の終わりの日時を取得
DateTime.new(2011, 12, 24, 00, 00, 00).beginning_of_week
# Mon, 19 Dec 2011 00:00:00 +0000

end_of_week

説明

週の終わりの日時を取得

使い方

日時.end_of_week

今週の終わりの日時を取得
DateTime.new(2011, 12, 24, 00, 00, 00).end_of_week
# Sun, 25 Dec 2011 23:59:59 +0000

next_week

説明

次の週の日時を取得

使い方

日時.next_week

来週の初めの日時を取得
DateTime.new(2011, 12, 24, 00, 00, 00).next_week
# Mon, 26 Dec 2011 00:00:00 +0000
来週の土曜日の日時を取得
DateTime.new(2011, 12, 24, 00, 00, 00).next_week(:saturday)
# Sat, 31 Dec 2011 00:00:00 +0000

prev_week

説明

前の週の日時を取得

使い方

日時.prev_week

先週の初めの日時を取得
DateTime.new(2011, 12, 24, 00, 00, 00).prev_week
# Mon, 12 Dec 2011 00:00:00 +0000
先週の土曜日の日時を取得
DateTime.new(2011, 12, 24, 00, 00, 00).prev_week
# Sat, 17 Dec 2011 00:00:00 +0000

beginning_of_month

説明

月の初めの日時を取得

使い方

日時.beginning_of_month

今月の初めの日時を取得
DateTime.new(2011, 12, 24, 00, 00, 00).beginning_of_month
# Thu, 01 Dec 2011 00:00:00 +0000

end_of_month

説明

月の終わりの日時を取得

使い方

日時.end_of_month

今月の終わりの日時を取得
DateTime.new(2011, 12, 24, 00, 00, 00).end_of_month
# Sat, 31 Dec 2011 23:59:59 +0000

beginning_of_quarter

説明

四半期の初めの日時を取得

使い方

日時.beginning_of_quarter

四半期の初めの日時を取得
DateTime.new(2011, 12, 24, 00, 00, 00).beginning_of_quarter
# Sat, 01 Oct 2011 00:00:00 +0000

end_of_quarter

説明

四半期の終わりの日時を取得

使い方

日時.end_of_quarter

四半期の終わりの日時を取得
DateTime.new(2011, 12, 24, 00, 00, 00).end_of_quarter
# Sat, 31 Dec 2011 23:59:59 +0000

beginning_of_year

説明

年の初めの日時を取得

使い方

日時.beginning_of_year

今年の初めの日時を取得
DateTime.new(2011, 12, 24, 00, 00, 00).beginning_of_year
# Sat, 01 Jan 2011 00:00:00 +0000

end_of_year

説明

年の終わりの日時を取得

使い方

日時.end_of_year

今年の終わりの日時を取得
DateTime.new(2011, 12, 24, 00, 00, 00).end_of_year
# Sat, 31 Dec 2011 23:59:59 +0000

years_ago

説明

○年前の日時を取得

使い方

日時.years_ago(年数)

10年前の日時を取得
DateTime.new(2011, 12, 24, 00, 00, 00).years_ago(10)
# Mon, 24 Dec 2001 00:00:00 +0000

years_since

説明

○年後の日時を取得

使い方

日時.years_since(年数)

10年後の日時を取得
DateTime.new(2011, 12, 24, 00, 00, 00).years_since(10)
# Fri, 24 Dec 2021 00:00:00 +0000

months_ago

説明

○月前の日時を取得

使い方

日時.months_ago(月数)

2月前の日時を取得
DateTime.new(2011, 12, 24, 00, 00, 00).months_ago(2)
# Mon, 24 Oct 2011 00:00:00 +0000

months_since

説明

○月後の日時を取得

使い方

日時.months_since(月数)

2月後の日時を取得
DateTime.new(2011, 12, 24, 00, 00, 00).months_since(2)
# Fri, 24 Feb 2012 00:00:00 +0000

weeks_ago

説明

○週前の日時を取得

使い方

日時.weeks_ago(週数)

2週前の日時を取得
DateTime.new(2011, 12, 24, 00, 00, 00).weeks_ago(2)
# Sat, 10 Dec 2011 00:00:00 +0000

advance

説明

前の日時を取得

使い方

日時.advance(日時のハッシュ)

2ヶ月後の2日前の日時を取得
DateTime.new(2011, 12, 24, 00, 00, 00).advance(months: 2, days: -2)
# Wed, 22 Feb 2011 00:00:00 +0000

change

説明

前の日時を取得

使い方

日時.change(日時のハッシュ)

2ヶ月後の2日前の日時を取得
DateTime.new(2011, 12, 24, 00, 00, 00).change(months: 2, days: -2)
# Sat, 24 Dec 2011 00:00:00 +0000

日時の計算

説明

日時を足したり、引いたりする

使い方

日時 (+ or -) 日時

2日後の日時を計算
DateTime.new(2011, 12, 24, 00, 00, 00) + 2.day
# Mon, 26 Dec 2011 00:00:00 +0000
1年前の日時を計算
DateTime.new(2011, 12, 24, 00, 00, 00) - 1.year
# Fri, 24 Dec 2010 00:00:00 +0000

beginning_of_day

説明

日の初めの時刻を取得

使い方

日時.beginning_of_day

今日の初めの時刻を取得
DateTime.new(2011, 12, 24, 00, 00, 00).beginning_of_day
# Sat, 24 Dec 2011 00:00:00 +0000

beginning_of_hour

説明

時間の初めの時刻を取得

使い方

日時.beginning_of_hour

DateTime.new(2011, 12, 24, 00, 00, 00).beginning_of_hour

beginning_of_minute

説明

分の初めの時刻を取得

使い方

日時.beginning_of_minute

DateTime.new(2011, 12, 24, 00, 00, 00).beginning_of_minute

end_of_day

説明

終わりの時刻を取得

使い方

日時.end_of_day

今日の1秒後の時刻を取得
DateTime.new(2011, 12, 24, 00, 00, 00).end_of_day
# Sat, 24 Dec 2011 23:59:59 +0000

end_of_hour

説明

終わりの時刻を取得

使い方

日時.end_of_hour

DateTime.new(2011, 12, 24, 00, 00, 00).end_of_hour

end_of_minute

説明

終わりの時刻を取得

使い方

日時.end_of_minute

DateTime.new(2011, 12, 24, 00, 00, 00).end_of_minute

ago

説明

○秒前の時刻を取得

使い方

日時.ago(秒数)

今日の1秒前の時刻を取得
DateTime.new(2011, 12, 24, 00, 00, 00).ago(1)
# Sat, 23 Dec 2011 23:59:59 +0000

since

説明

○秒後の時刻を取得

使い方

日時.since(秒数)

今日の1秒後の時刻を取得
DateTime.new(2011, 12, 24, 00, 00, 00).since(1)
# Sat, 24 Dec 2011 00:00:01 +0000

seconds_since_midnight

説明

0時からの秒数を取得

使い方

日時.seconds_since_midnight

今日の0時からの秒数を取得
DateTime.new(2011, 12, 24, 10, 00, 00).seconds_since_midnight
# 36000

utc

説明

UTCの日時を取得

使い方

日時.seconds_since_midnight

UTCの日時を取得
DateTime.current.utc # Sat, 24 Dec 2011 00:00:00 +0900
# Fir, 23 Dec 2011 09:00:00 +1500

formatted_offset

説明

オフセットのフォーマット

使い方

日時.formatted_offset([コロンの有無])

datetime = DateTime.civil(2000, 1, 1, 0, 0, 0, Rational(-6, 24))
datetime.formatted_offset         # "-06:00"
datetime.formatted_offset(false)  # "-0600"