From: Benoit Daloze Date: 2010-06-09T06:06:15+09:00 Subject: [ruby-core:30677] Re: [Bug #3411] Time.local 1916,5,1 #=> 1916-04-30 23:00:00 +0100 > Then maybe it is a platform problem > or a zone problem (you are in -5, so it is likely not happening). > Could someone checks on OSX with trunk and 1.9.2 ? > > For my part I still get: > $ ruby -e 'p Time.local 1916,5,1' > 1916-04-30 23:00:00 +0100 To clarify the problem: (first build from adding a day(86400), second from Time.local) > 5.times {|i| t=Time.local(1916,4,29)+i*86400; p t; d=i>1 ? Time.local(1916,5,i-1) : Time.local(1916,4,29+i); p d; puts} 1916-04-29 00:00:00 +0100 1916-04-29 00:00:00 +0100 1916-04-30 00:00:00 +0100 1916-04-30 00:00:00 +0100 # So the time zone changes, and this probably cause the bug. 1916-05-01 01:00:00 +0200 1916-04-30 23:00:00 +0100 1916-05-02 01:00:00 +0200 1916-05-02 00:00:00 +0200 1916-05-03 01:00:00 +0200 1916-05-03 00:00:00 +0200