0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【Ruby】日付のデータを取得する方法

Last updated at Posted at 2021-01-04

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オブジェクトから曜日を数字として取得

記載内容に間違い等ございましたらご指摘頂けると嬉しいです。
ご連絡お待ちしております。

0
1
11

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?