> rubyの1.8.5では、以下のプログラムは動いていたのですが、 > rubyの1.8.6では動かなくなったようです。 > $ ruby -r time -e 'p Time.parse("04-30 08:00")' > > 以下なら1.8.6でも動くようです。 > $ ruby -r time -e 'p Time.parse("04/30 08:00")' > > これは仕様変更でしょうか? ParseDate.parsedate('04-30 08:00') とすればわかりますが、この場合、動いている=エラーにならないだけで、も ともと三並さんの意図したようには解釈されていません。 parsedate では、もとから月名を用いない (数字のみの) 月日には対応しない 仕様になっていました。例外的にスラッシュで区切るものは有効です。これは 以前の実装を尊重したためです。詳しい仕様は、少し内容が旧いですが、 http://www.funaba.org/date2/parsedate.html にあります。 仕様外のところでの結果に違いがでているのは、最近になって、少し解釈の幅 を広げたためです。スラッシュをつかった日付で年を省略したい場合は、ISO 8601 としても正しい --mm-dd という形式にすれば 1.8.6 では有効です。