あの時間に戻れたら…
あの時間に飛ぶことができたら…
そんな願いを叶えてくれる時の魔術師、それが Time#change
である。
現在時刻が 2014/01/01 00:00:00 だとします。
now = Time.zone.parse("2014/01/01 00:00:00")
#=> Wed, 01 Jan 2014 00:00:00 JST +09:00
2020年に飛びたいな。
now.change(year: 2020)
#=> Wed, 01 Jan 2020 00:00:00 JST +09:00
now
#=> Wed, 01 Jan 2014 00:00:00 JST +09:00
٩( 'ω' )و 飛べた!
しかし、実際には現在の世界線から別の世界線が派生しただけで、
現在は変えられないのです (つまり破壊的メソッドではない) 。
ちなみに、時間を変えることも可能です。
time.change(hour: 23, min: 59, sec: 59)
#=> Wed, 01 Jan 2014 23:59:59 JST +09:00
オプションで指定できるのは、
:year, :month, :day, :hour, :min, :sec, :usec
だそうです。
マイクロ秒まで操作できるなんて、Time#change
ちゃんパないの!