From: Tadayoshi Funaba Date: 2010-12-30T16:43:30+09:00 Subject: [ruby-list:47736] Re: Date.parse("2010-12") がv1.8.7 でエラー > v1.8.6 だとエラーにならないけど、1.8.7 だとエラーになりました。 > これは仕様でしょうか? 元々年と月があって日がないもの、というのは、優先度が低く、数字のみによ る日付の見直しをした頃に遠慮してもらうことにしました。 Date._parse('0203') #=> {:mon=>2, :mday=>3} Date._parse('100203') #=> {:year=>10, :mon=>2, :mday=>3} Date._parse('20100203') #=> {:year=>2010, :mon=>2, :mday=>3} Date._parse('2010020304') #=> {:year=>2010, :mon=>2, :mday=>3, :hour=>4} Date._parse('201002030405') #=> {:year=>2010, :mon=>2, :mday=>3, :hour=>4, :min=>5} Date._parse('20100203040506') #=> {:year=>2010, :mon=>2, :mday=>3, :hour=>4, :min=>5, :sec=>6} Date._parse('20100203040506-09') #=> {:year=>2010, :mon=>2, :mday=>3, :hour=>4, :min=>5, :sec=>6, :zone=>"-09", :offset=>-32400} Date._parse('20100203040506-0930') #=> {:year=>2010, :mon=>2, :mday=>3, :hour=>4, :min=>5, :sec=>6, :zone=>"-0930", :offset=>-34200} と、こちらを取ることにしました。この場合20月はないのでエラーになる、と いうことなのです。