Does anyone know why Time.local gives these offsets here? (+0100 is correct) fxn@rails:~/rails/activerecord$ rvm use 1.8.7 info: Using ruby 1.8.7 p302 fxn@rails:~/rails/activerecord$ ruby -e 'p Time.local(2010); p Time.local(1940); p Time.local(1807)' Fri Jan 01 00:00:00 +0100 2010 Mon Jan 01 00:00:00 +0000 1940 Thu Jan 01 00:00:00 -0014 1807 fxn@rails:~/rails/activerecord$ rvm use 1.9.2 info: Using ruby 1.9.2 p0 fxn@rails:~/rails/activerecord$ ruby -e 'p Time.local(2010); p Time.local(1940); p Time.local(1807)' 2010-01-01 00:00:00 +0100 1940-01-01 00:00:00 +0000 1807-01-01 00:00:00 -0015 Local time zone is Europe/Madrid, the TZ environment variable is empty.