From: Niklas Backlund Date: 2000-11-23T03:38:42+09:00 Subject: [ruby-talk:6521] Time Trouble Hi, here I am with my small problems again! =) Can someone please explain this result to me: irb(main):001:0> 1.upto(12) {|m| puts Time.local(2000, m, 1, 0, 0)} Sat Jan 01 00:00:00 GMT+1:00 2000 Tue Feb 01 00:00:00 GMT+1:00 2000 Wed Mar 01 00:00:00 GMT+1:00 2000 Sat Apr 01 01:00:00 GMT+1:00 2000 Mon May 01 01:00:00 GMT+1:00 2000 Thu Jun 01 01:00:00 GMT+1:00 2000 Sat Jul 01 01:00:00 GMT+1:00 2000 Tue Aug 01 01:00:00 GMT+1:00 2000 Fri Sep 01 01:00:00 GMT+1:00 2000 Sun Oct 01 01:00:00 GMT+1:00 2000 Wed Nov 01 00:00:00 GMT+1:00 2000 Fri Dec 01 00:00:00 GMT+1:00 2000 All the Time's that are created in Apr..Oct get an hour offset added! So in order to create midnight of, say, Sep 21, I have to write: irb(main):003:0> puts Time.local(2000, 9, 20, 23, 0) Thu Sep 21 00:00:00 GMT+1:00 2000 Feature or bug? If it's a feature, I would say that it clearly violates the Principle of Least Surprise. Or does someone have an argument that could convince me of the opposite? /Niklas