ふなばです。

parsedate に、年/月、という形式を解釈させることは、想定されていません
でした。年月日のうち、日を省略する、ということは考えられていなかったの
です。今現在、一部、受けつけられているように見えるのは、たまたまで、バ
グなのかもしれません。

time.rb を見ると、使用例などに、年/月、という形式が挙げられているので
すが、parsedate では、この形式は受けとらない、ということをより明確にし
ていきたいと思っています。

選択肢としては、

1. やっぱり、parsedate.rb も time.rb も、このままにしておく。
2. parsedate.rb では改めるが、time.rb では独自に保証する。
3. parsedate.rb の改訂に time.rb もつきあう。

といったところでしょうか。どうするか相談しましょう。とくに意見はない、
ということであれば、僕の判断 (3) で直します。


以下、なにが問題か述べます。

ひとまず、曜日、時刻、タイムゾーンなどのことは置いておくとします。

parsedate が解釈する日付は、やはり、年月日が揃っているのが、基本です。

ただし、月が名前になっていて、年と月を並べたもの、"Aug 30" や "30 Aug" 
のようなものは、年を省略できます。また、MM/DD、MMDD もいいです。

スラッシュで区切る形式は、月/日[/年]、のように米国式に解釈されます。こ
の形式は、ちょっと特殊だと思いますが、これは、僕が書き換える以前からの
仕様です (本当はちょっとイヤです。まるごと削りたくなります)。

年月日のうち、省略を許すとすれば、年です。どの形式でも、日付から月の日
を省略することは想定されていません。

"2003/08" のような入力が、一見ちゃんと解釈されているように見えるのは、
まず、年を省略された形式、月/日、として受け入れたあと、ひとつ目の要素
が、あきらかに月ではないと判断できるため、気をきかせて、(月/日/年の場
合と同じように) 年/月/日、として読み換えるからです (バグかもしれない)。
ですから、たとえば、"03/12" などは、03年12月とは、なりません。

今後は、月/日として受けつけたはずのものを年/月と読み換えることは、しな
いつもりです。スラッシュで区切る形式は、parsedate のなかでも、もっとも
解釈の根拠が薄弱でもあり、これ以上の濫用を許すと、本当にわけがわからな
くなりそうです。

parsedate の解釈について、それなりにちゃんと書こうとすると、長くなって、
うんざりされそうなので、今のところ、正規のマニュアルには、あまり詳しく
は書いてませんが、もし、より詳しい説明を読みたければ、別の文書に、それ
なりに詳しい説明があるので、それを読んでください。

http://www.funaba.org/date2/parsedate.html