LoginSignup
0
0

More than 3 years have passed since last update.

RubyのTime, Dateオブジェクトについて解説

Posted at

Time, Date オブジェクトとは?

日付や時間を表すオブジェクトです。

Time オブジェクトの扱い方

現在時刻

例えば now メソッドで現在時刻を取得できます。

irb(main):020:0> Time.now
=> 2020-11-13 23:26:39.001668 +0900

任意の時刻

newメソッドで任意の日時を表す Time オブジェクトを生成できます。

irb(main):021:0> datetime = Time.new(2020, 1, 1, 12, 30
)
=> 2020-01-01 12:30:00 +0900

表示フォーマットの指定(Time)

strftime メソッドを使うことで指定したフォーマットで日時を表示できます。
例えば 2020-01-01 12:30 というようなフォーマットで表示させるには次のように書きます。

irb(main):021:0> datetime = Time.new(2020, 1, 1, 12, 30
)
=> 2020-01-01 12:30:00 +0900
irb(main):022:0> datetime.strftime('%Y-%m-%d %H:%M')
=> "2020-01-01 12:30"
irb(main):023:0> 

Date オブジェクトの扱い方

Time オブジェクトと違い、時刻まで扱う必要がないときにはこちらを使用します。

なお、事前に date ライブラリを読み込んでから使います。

irb(main):023:0> require 'date'
=> true
irb(main):024:0> Date
=> Date

本日の日付を取得

today メソッドを使用します。

irb(main):025:0> Date.today
=> #<Date: 2020-11-13 ((2459167j,0s,0n),+0s,2299161j)>

任意の日付を設定

Time と同じく new を使います。

irb(main):029:0> Date.new(2020, 1, 1)
=> #<Date: 2020-01-01 ((2458850j,0s,0n),+0s,2299161j)>

表示フォーマットの指定(Date)

Time オブジェクトと同じく、フォーマットを指定して日付を表すことも可能です。
ここでは Date オブジェクトから 2020/01/01 形式で表示させます。

irb(main):030:0> Date.new(2020, 1, 1).strftime('%Y/%m/%
d')
=> "2020/01/01"
0
0
0

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
0