miyohideの日記

技術的なメモなどを記しています

2019年2月21日(木)

地味にTypoが多くなった気がする。

めっちゃハマったこと

今日めっちゃはまったこと。

irb(main):009:0> e = Time.parse('2019-04-1 0:0:0')
=> 2019-04-01 00:00:00 +0900
irb(main):010:0> s = Time.parse('2019-03-1 0:0:0')
=> 2019-03-01 00:00:00 +0900
irb(main):011:0> s + 1.month == e
=> true
irb(main):012:0>

ここまでは普通のことなんだけれども...

irb(main):012:0> (e - s) == 1.month
=> false
irb(main):013:0>

え?なんで?

どうもe-sのときの右辺にある1.monthは30日で計算しているみたい。一方でs + 1.monthのときの1.monthは単に月の数字を1つ足しているように見える。

明日ちゃんとソース読んでおこう。