Timezone offset changing during addition
Here's the original code that I found this bug with:
ruby-1.9.2-p0 > t = Time.local(1900, nil, nil, nil, nil, nil)
=> 1900-01-01 00:00:00 -0800
ruby-1.9.2-p0 > t + 5_630_617_200
=> 2078-06-05 05:20:00 -0700
After looking into it further, it seems if I add >2816474399 to t, the timezone offset will change:
ruby-1.9.2-p0 > t + 2816474399
=> 1989-04-02 01:59:59 -0800
ruby-1.9.2-p0 > t + 2816474400
=> 1989-04-02 03:00:00 -0700
Updated by dkelley (Daniel Kelley) over 11 years ago
1989-04-02 is the first Sunday in April, which is the transition to daylight savings time in the US in that year.
I see your 1.9.2 behavior in my 1.8.7p72 and 1.9.1p243, so it doesn't look like a change in behavior to me.