親切だけど、知らないとビビる感じなのでメモ
環境
$ ruby -v ruby 2.3.3p222 (2016-11-21 revision 56859) [x86_64-darwin16]
事象
TIme.newで Time.new(2018,6,31)
などをしてもエラーにならず勝手に 2018/7/1 相当の情報が返却される
例
Time.new(2019,1,11) # => 2019-01-11 00:00:00 +0900
Time.new(2019,6,31) #=> 2019-07-01 00:00:00 +0900
2月の場合もよしなに判断してくれる
Time.new(2019,2,29) #=> 2019-03-01 00:00:00 +0900 Time.new(2019,2,30) #=> 2019-03-02 00:00:00 +0900 Time.new(2019,2,31) #=> 2019-03-03 00:00:00 +0900
なおDateTimeの場合はエラーになる
DateTime.new(2019,6,31) #ArgumentError: invalid date