I have reported this to ruby-lang bugs a week ago (incoming #639),
but since it is yet to be analyzed, I am posting it here too:


March 30, 2003 has 25 hours!! There must be a problem with the
time representation try:


time = Time.local(2003, 3, 30)  # => Sun Mar 30 00:00:00 EST 2003

time += 3600  # => Sun Mar 30 01:00:00 EST 2003
time += 3600  # => Sun Mar 30 02:00:00 EST 2003
time += 3600  # => Sun Mar 30 02:00:00 EST 2003  AGAIN !!!!!
time += 3600  # => Sun Mar 30 03:00:00 EST 2003


or 


time = Time.local(2003, 3, 29)  # => Sat Mar 29 00:00:00 EST 2003

time += 86400  # => Sun Mar 30 00:00:00 EST 2003  OK!
time += 86400  # => Sun Mar 30 23:00:00 EST 2003  WHAT?????