_ むむ,浮動小数点精度の違いのせいかな。 まあ,Rational を使えばいいんだけど。
$ ruby -vr date -e 'p DateTime.parse("2005-09-28T14:00:00+0900").new_offset(9.0/24).to_s'
ruby 1.9.0 (2005-09-28) [i686-linux]
"2005-09-28T14:00:00+0900"
$ ruby -vr date -e 'p DateTime.parse("2005-09-28T14:00:00+0900").new_offset(9.0/24).to_s'
ruby 1.9.0 (2005-09-28) [powerpc-darwin8]
"2005-09-28T13:00:00+0900"