わたなべです.

parsedate はこのままじゃちょっとまずいです.

たとえば ruby-list で設定されてる Date は
  Tue, 10 Feb 98 17:57:34 +0900
という形式ですが, 最初の正規表現が
  /(\d\d\d\d)-?(?:(\d\d)-?(\d\d)?)? *(?:(\d\d):(\d\d)(?::(\d\d))?)?/
なので (\d\d\d\d) が 0900 にマッチしていまいます.
この正規表現はちょっとゆるすぎますね.

でこの部分を削除しても date の出力のような
  Fri Feb 13 10:23:17 JST 1998
という形式もだめです. これは (?:\s+([a-z]{1,4}) が一個余計の
ような気がする. patch を添付します.

#あまりまじめに見てないけど (?:) をこんなに多用しないといけないのかな?

そういえば仕様も変わりましたね. [98, 2, 13] という形式から
[1998, 2, 13, 5, 10, 29, 33, "JST"] に.
sample/from.rb も y%100 にしたほうがいいか.

-- 
わたなべひろふみ

--- parsedate.rb~ Tue Feb 3 18:28:15 1998 +++ parsedate.rb Fri Feb 13 10:59:35 1998 @@ -27,3 +27,3 @@ end - if date.sub!(/(\d+):(\d+)(?::(\d+))?\s*(am|pm)?\s*(?:\s+([a-z]{1,4}(?:\s+[a-z]{1,4})|[-+]\d{4}))?/i, ' ') + if date.sub!(/(\d+):(\d+)(?::(\d+))?\s*(am|pm)?\s*(?:\s+([a-z]{1,4}|[-+]\d{4}))?/i, ' ') hour = $1.to_i