From: YASUI Kentarow Date: 1999-12-12T01:04:11+09:00 Subject: [ruby-list:19430] parsedate.rb 安井と申します。 先日届いたメールで、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 http://www.alles.or.jp/~kenyasui/