Dateクラスに対しクラスメソッドを使用
Rubyでは日付を扱うクラスとしてDateクラスが用意されており、これを使用することによりうるう年やひと月ごとの日数、曜日などの管理
といった単なる数字のみでは正確に算出することが困難なデータを簡単に取得することが可能となる。
日付以外にも時間を管理するクラスや、日付と時間の両方を扱うクラスが存在する。
日付や時間に関する主なクラス
クラス名 | 管理可能なデータ |
---|---|
Dateクラス | 日付 |
Timeクラス | 時間 |
DateTimeクラス | 日付と時刻の双方 |
Dateクラスを使う前準備(require)
Dateクラスを使用する際には、Rubyのコード上に"Date"ライブラリーを呼び込む
必要がある。
その役割を果たすのがrequireメソッド
であり、これにより外部ファイルを参照して、そこで定義されているクラスを取得することが可能となる。
※Railsのアプリケーションの場合はクラスはどのファイルにおいても参照できる為、(下記に訂正)require "~"
の記述は不要
※Railsアプリの場合は、Railsフレームワークの仕様によって参照ファイルの自動読み込み機能が備わっている為、require "~"の記述は不要
・具体的な使用方法
require "date"
# 日付に関わるライブラリ"date"を取り込む
:
:
Dateクラスのインスタンス(オブジェクト)を取得する主な方法
- todayメソッド(今日の日付を自動で算出してDateオブジェクトを作成)
require "date"
today = Date.today
# 今日の日付を自動で算出してDateオブジェクトを作成
- parseメソッド(引数で渡した文字列をDateオブジェクトに変換して作成)
require "date"
today_str = "2020-12-30"
Date.parse(today_str)
# 2020年12月30日のDateオブジェクトが作成される
- newメソッドによる作成(引数で渡した整数を元にDateオブジェクトを作成)
require "date"
today = Date.new(2020, 12, 30)
# 2020年12月30日のDateオブジェクトが作成される
作成したDateオブジェクトから年や月などを取得する
上記の方法で作成したDateオブジェクトから特定の情報を取得する場合は、以下のようなコードを使用する。
require "date"
today = Date.today
today.year # 作成したDateオブジェクトから年を取得
today.mon # 作成したDateオブジェクトから月を取得
today.mday # 作成したDateオブジェクトから日を取得
today.wday # 作成したDateオブジェクトから曜日を数字として取得
記載内容に間違い等ございましたらご指摘頂けると嬉しいです。
ご連絡お待ちしております。