Ruby 2.7 の変更点 - Time / Date

Ruby 2.7 アドベントカレンダーの21日目の記事です。

qiita.com

Time

Time#inspect : 形式変更

Time#inspect が小数点以下の秒数を返すようになりました。#to_s は変更されてません。

t = Time.now
p t       #=> 2019-12-21 16:05:08.589390327 +0900
p t.to_s  #=> "2019-12-21 16:05:08 +0900"

Time#ceil / Time#floor 追加

Time#ceil, #floor は小数点以下の秒数を切り上げ/切り捨てします。引数で桁を指定できます。

t = Time.now
p t           #=> 2019-12-21 16:46:16.53274729 +0900
p t.ceil      #=> 2019-12-21 16:46:17 +0900
p t.ceil(1)   #=> 2019-12-21 16:46:16.6 +0900
p t.ceil(2)   #=> 2019-12-21 16:46:16.54 +0900
p t.floor     #=> 2019-12-21 16:46:16 +0900
p t.floor(1)  #=> 2019-12-21 16:46:16.5 +0900
p t.floor(2)  #=> 2019-12-21 16:46:16.53 +0900

Date

Date.jisx0301, Date#jisx0301 : 令和対応

新元号の令和に対応しました。(2.6.3以降から)

require 'date'

Date.today.jisx0301  #=> "R01.12.21"
Date.jisx0301("R01.12.21")  #=> #<Date: 2019-12-21 ((2458839j,0s,0n),+0s,2299161j)>