From: Yukihiro Matsumoto Date: 2010-06-09T07:27:40+09:00 Subject: [ruby-core:30679] Re: [Bug #3411] Time.local 1916,5,1 #=> 1916-04-30 23:00:00 +0100 Hi, Cannot reproduce on my timezone. Could you tell us your timezone setting? matz. In message "Re: [ruby-core:30672] [Bug #3411] Time.local 1916,5,1 #=> 1916-04-30 23:00:00 +0100" on Wed, 9 Jun 2010 03:58:16 +0900, Benoit Daloze writes: |Everything is in the title. | |My apologies if this is normal behavior, but I think is not. | |It is the only first day of a month of the 20th century to behave like this |(and also the only day in -4000..4000 to not respect Time.local(y,m,d).day == d): |(1901..2000).each { |year| | (1..12).each { |month| | p Time.local(year, month, 1) if Time.local(year, month, 1).day != 1 | } |} #=> 1916-04-30 23:00:00 +0100 | |1.8.7 gives: |Time.local 1916,5,1 #=> Mon May 01 01:00:00 +0200 1916 | |I believe this also happen in 1.9.2RC, though I can not test it myself.