安井と申します。

先日届いたメールで、Date:フィールドのところが
"Thu, 09 Dec 1999 21:29:33 +0-1200"となっているものがありまして、まあ、
この書式はおかしいと思うのですが、これをParseDate::parsedateにかけると
yearが1200年になってしまいます。
で、ちょっとパッチをあててみました。
「書式がおかしいんだから当たり前」と言えるかもしれませんが、間違った
値が返されるよりは良いかと思いますが、いかがでしょう?

+++ parsedate.rb
@@ -67,10 +67,12 @@
       mon = MONTHS[$2.downcase]
       year = $3.to_i
     end
+    if !defined?(year) or !year
     if date.sub!(/\d{4}/i, ' ')
       year = $&.to_i
     elsif date.sub!(/\d\d/i, ' ')
       year = $&.to_i
+    end
     end
     if guess and year
       if year < 100
--
「臆病者には勝利の女神は微笑まない」
YASUI Kentarow <kenyasui / alles.or.jp>   http://www.alles.or.jp/~kenyasui/