読者です 読者をやめる 読者になる 読者になる

Bonkura - Kenny

SIerで働く文系SEの記録

【たのしいRuby_20】Timeクラス、Dateクラス

たのしいRubyの第20章を学んだ。

たのしいRuby 第4版

たのしいRuby 第4版

TimeクラスとDateクラス

  • Timeクラス: 「年月日日時分秒」タイムゾーン の情報を持つ
  • Dateクラス: 「年月日」 だけを扱う。

Timeクラス

# 現在時刻の取得

p Time.new
sleep 1
p Time.now

#=> 2016-05-29 16:57:05 +0900
#=> 2016-05-29 16:57:06 +0900

t = Time.now

p t.year #=> 2016
p t.month #=> 5
p t.day #=> 29

#指定した時刻を表すTimeオブジェクトを得る

t2 = Time.mktime(2016,5,30,1,1,1)
p t2 #=>2016-05-30 01:01:01 +0900

# 時刻計算(秒数基準)
t3 = t2 + 60 * 60 * 24
p t3

# 時刻フォーマット修正(文字列型への変換)
t4 = Time.now
p t4.to_s
p t4.strftime("%Y-%m-%d")

Dataクラス

時刻を持たない日付を操作するためのクラス。

require "date"

d = Date.today

p d.year
p d.month
p d.day

# 月末の日付を-1で指定出来る。閏年にも対応している!
d = Date.new(2016,2,-1)
puts d  #=> 2016-02-29