2012-02-08 1 views
1

他に誰もこれに遭遇していないと私は信じていませんが、私は1時間グーグルで行っています。非常に単純な時間のRuby 1.9は、無効な日付を解析しているようだ:Time.localは無効な日付をパーズします

ruby-1.9.2-p290 pcp070211pcs:profile delwateo$ irb 
ruby-1.9.2-p290 :001 > Time.local(2011, 2, 31)  
=> 2011-03-03 00:00:00 -0500 

が、これはいくつかの時間の例外をスローしてはいけません。誰かがこれに正しい方向に私を指摘することはできますか?

答えて

0

これはRubyのバグのようです(1.8でも発生します)。あなただけの時間なしDateオブジェクトが必要な場合は、代わりにDate.civilを使用することができ、それがこれを適切に処理します:

Date.civil(2011,2,31) 
# => ArgumentError: invalid date 
+0

うん、我々は同様に1.9.3でそれを見ています。私たちはこの問題を今のところコード化することができましたが、本当の疑問はなぜですか?それはちょうど報告されていないバグであることのような基本的なようです – Orion

+0

私はそれがちょうどバグだと思う。もう報告されていない:http://bugs.ruby-lang.org/issues/5988 –