どうものりにぃです!
プログラムを書いていると、前月、翌月などの日付を取得する機会が非常に多くあるのではないでしょうか。
そこで、○ヶ月前、○ヶ月後などを取得できるコマンド一覧をまとめておきます。
【ジャンルが豊富で学びたい講座がきっとみつかる】
習得したいスキルが明確で年収アップのために学習している方!
- ジャンルが豊富で学びたい講座がきっとみつかる
- お手頃な価格帯
- 学びやすい多彩な機能
オンライン完結で手軽に学べるプラットフォームです!
年月日の取得方法
・年、月、日を指定して取得する
Date.new(2021,10,1) => Fri, 01 Oct 2021 Date.current => Sun, 10 Oct 2021
・今日の年月日を取得する
Date.today => Sun, 10 Oct 2021 Date.current => Sun, 10 Oct 2021
・今日の日付を取得する
Date.today.day => 10 Date.current.day => 10
・今月の月を取得する
Date.today.month => 10 Date.current.month => 10
・今年の年を取得する
Date.today.year => 2021 Date.current.year => 2021
・昨日の日付を取得する
Date.today.yesterday => Sat, 09 Oct 2021 Date.current.yesterday => Sat, 09 Oct 2021
・明日の日付
Date.today.tomorrow => Mon, 11 Oct 2021 Date.current.tomorrow => Mon, 11 Oct 2021
○日前、○ヶ月前、○年前
○日前などの取得の仕方を紹介します。
todayは上記のようにcurrentでも代用可能です。
・○日前(例は2日前)
Date.today.days_ago(2) #数字を変えると○日前になる => Fri, 08 Oct 2021 Date.today.ago(2.days) => Fri, 08 Oct 2021 00:00:00 JST +09:00
・先月
Date.today.last_month => Fri, 10 Sep 2021
・○ヶ月前(例は2ヶ月前)
Date.today.months_ago(2) #数字を変えると○日前になる => Tue, 10 Aug 2021 Date.today.last_month << 1 => Tue, 10 Aug 2021 Date.today.ago(2.month) => Tue, 10 Aug 2021 00:00:00 JST +09:00
・1年前
Date.today.last_year => Sat, 10 Oct 2020
・○年前(例は2年前)
Date.today.years_ago(2) #数字を変えると○日前になる => Thu, 10 Oct 2019
○日後、○ヶ月後、○年後
○日前、後などの取得の仕方を紹介します。
同じくtodayは、currentでも代用可能です。
・○日後(例は2日後)
Date.today.days_since(2) => Tue, 12 Oct 2021 Date.today.since(2.days) => Tue, 12 Oct 2021 00:00:00 JST +09:00
・翌月
Date.today.next_month => Wed, 10 Nov 2021
・○ヶ月後(例は2ヶ月後)
Date.today.months_since(2) #数字を変えると○日後になる => Fri, 10 Dec 2021 Date.today.next_month >> 1 => Fri, 10 Dec 2021 Date.today.since(2.month) => Fri, 10 Dec 2021 00:00:00 JST +09:00
・1年後
Date.today.next_year => Mon, 10 Oct 2022
・○年後(例は2年後)
Date.today.years_since(2) => Tue, 10 Oct 2023
月初、月末の取得
上記の記載を組み合わせて利用することもできます。
・今月の初めを取得
Date.today.beginning_of_month => Fri, 01 Oct 2021
・先月の初めを取得
Date.today.last_month.beginning_of_month => Wed, 01 Sep 2021
・来月の初めを取得
Date.today.next_month.beginning_of_month => Mon, 01 Nov 2021
strftimeを使って日付をフォーマット化する方法
Dataクラスで生成された日付をブラウザに表示するにはフォーマット化する必要があります。
その際利用できるstrftimeメソッドは、こちらの記事をご覧ください。
まとめ
Date型を利用し○日前、○日後などを取得する機会も多くあると思います。
その際のチートシートとして利用下さい!