From: Akinori MUSHA Date: 2008-05-25T08:40:38+09:00 Subject: [ruby-dev:34840] Re: Date.parse("##-##-##") --pgp-sign-Multipart_Sun_May_25_08:40:57_2008-1 Content-Type: text/plain; charset=ISO-2022-JP  返事が遅くなってしまいました。 At Mon, 19 May 2008 21:50:29 +0900, Tadayoshi Funaba wrote: > この件については、ドイツの方と少し議論して、米国式に解釈するのはあまり > 意味がない、ということになって、バグではないですが、バグに近い対処とい > うことにしました。 > > Date.parse('01.02.2003') > > も変っていて、dd.mm.yyyy と解釈されます。(##)?##.##.## は日本式、ただ > し ##.##.#### は欧州式、ということになっています。  なるほど。期待と違うのでほとんど使われていない可能性もあると いうことですね。  形式がわかっているなら Date.strptime を使った方がよさそうです。 > このあたり、1.8 でも書式について少し柔軟に対応するようにしたのは、1.8 > で、Time#to_s の書式があっさり変更されたことが影響していると思います > (こっちのほうが影響が大きいとおもう)。さらに、1.9 で変更されていますが、 > それによって、Time#to_s をつかうな、というような事があるなら、parse の > ほうも考える必要があるのかもしれません。  Time#to_s の書式が変わったというのは 1.8.5 と 1.8.6 の間の話 ですね。後方互換性に関するポリシーを掲げた手前もあり、 1.8.6 リリースでは元に戻しました。(cf. [ruby-dev:30493])  基本的には、 1.8.7 で変更、 1.9 でまた変更というのは避けたい です。しかし、本件については古い仕様では事実上役に立たなかった という判断は理解できるので、ドキュメントでうまくユーザを誘導 できるのなら問題ないと思います。 > 個人的には、この件を指摘するのは親切だと思いますが、今から、 > Date.parse(str, true) しろ、というのは要らないと思います。  1.9 への橋渡しが 1.8.7 のテーマのひとつなので、その役に立ち そうな情報は添えたいと思っています。 -- Akinori MUSHA / http://akinori.org/ --pgp-sign-Multipart_Sun_May_25_08:40:57_2008-1 Content-Type: application/pgp-signature Content-Transfer-Encoding: 7bit -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (FreeBSD) iEYEABECAAYFAkg4p4kACgkQkgvvx5/Z4e50VwCg0Ke262DUwffPpe2I3AOxz3Zh 3j4AoIt8eQYVp6u5kFTRFucIJQ9vzOxN =4l5K -----END PGP SIGNATURE----- --pgp-sign-Multipart_Sun_May_25_08:40:57_2008-1--