Time.new
ドキュメントで説明されているように、これは他の Ruby バージョンでは機能しますが、JRuby ではRuby の構文を適切に使用できません。動作はあらゆる点で異なり、いくつかの点で間違っていると思います。ネットで調べてみましたが、あまり知られていないようです。
これを修正したり、JRuby グループに投稿したりするという面倒な作業を行う前に、私が愚かではないことを確認したいと思います。比較するために、非常に異なる動作の基本的な例を使用します。
JRuby の場合:
jruby-1.6.8 :007 > JRUBY_VERSION
=> "1.6.8"
jruby-1.6.8 :008 > RUBY_VERSION
=> "1.9.2"
jruby-1.6.8 :009 > Time.new(2012, 10, 11, 0, 0, 0, '+09:00')
=> 2012-10-11 00:00:00 -0400
jruby-1.6.8 :010 > Time.new(2012, 10, 11, 0, 0, 0, '+9:00')
=> 2012-10-11 00:00:00 -0400
ルビーの場合:
1.9.2p320 :002 > RUBY_VERSION
=> "1.9.2"
1.9.2p320 :003 > Time.new(2012, 10, 11, 0, 0, 0, '+09:00')
=> 2012-10-11 00:00:00 +0900
1.9.2p320 :004 > Time.new(2012, 10, 11, 0, 0, 0, '+9:00')
ArgumentError: "+HH:MM" or "-HH:MM" expected for utc_offset
私は何を間違っていますか?