From: Tanaka Akira Date: 2010-06-09T10:21:37+09:00 Subject: [ruby-core:30683] Re: [Bug #3411] Time.local 1916,5,1 #=> 1916-04-30 23:00:00 +0100 2010/6/9 Benoit Daloze : > I am at Brussels, BRU - Belgium, CEST (UTC+2) (and so CET (UTC+1) in winter). 1916-05-01 00:00:00 is not exist in Brussels. % zdump -v Europe/Brussels|grep 1916 Europe/Brussels Sun Apr 30 22:59:59 1916 UTC = Sun Apr 30 23:59:59 1916 CET isdst=0 gmtoff=3600 Europe/Brussels Sun Apr 30 23:00:00 1916 UTC = Mon May 1 01:00:00 1916 CEST isdst=1 gmtoff=7200 Europe/Brussels Sat Sep 30 22:59:59 1916 UTC = Sun Oct 1 00:59:59 1916 CEST isdst=1 gmtoff=7200 Europe/Brussels Sat Sep 30 23:00:00 1916 UTC = Sun Oct 1 00:00:00 1916 CET isdst=0 gmtoff=3600 This shows that a second after 1916-04-30 23:59:59 is 1916-05-01 01:00:00. So, it is difficult to define the result of Time.local(1916,5,1). It seems Ruby 1.9.1 interpretes it as 1 second after 1916-04-30 23:59:59. It seems Ruby 1.9.2 interpretes it as 1 hour before 1916-05-01 01:00:00. -- Tanaka Akira