From: Tanaka Akira Date: 2006-09-03T17:57:21+09:00 Subject: [ruby-dev:29435] Re: Time#rfc2822 In article <20060903.163209.41627484.tadf@dotrb.org>, Tadayoshi Funaba writes: > Time.rfc2822('Sun, 3 Sep 2006 14:36:59 +0000').utc? #=> false > > で、これは UTC ではなくなるわけですか。 えぇ。(今は夏であるためイギリスの時差は 0 でないので) アイス ランドを例にとると、 % TZ=Iceland ruby -rtime -e 'p Time.local(2006,9,3,14,36,59)' Sun Sep 03 14:36:59 +0000 2006 % TZ=Iceland ruby -rtime -e 'p Time.local(2006,9,3,14,36,59).utc?' false % TZ=Iceland ruby -rtime -e 'p Time.local(2006,9,3,14,36,59).rfc2822' "Sun, 03 Sep 2006 14:36:59 +0000" % TZ=Iceland ruby -rtime -e 'p Time.rfc2822("Sun, 03 Sep 2006 14:36:59 +0000")' Sun Sep 03 14:36:59 +0000 2006 % TZ=Iceland ruby -rtime -e 'p Time.rfc2822("Sun, 03 Sep 2006 14:36:59 +0000").utc?' false というように、アイスランドの時刻を文字列にしたときには +0000 を使い、+0000 に出会ったら、アイスランドの (もしくは他の地域 の) 時刻だと解釈します。 > UTC に偽装している不明の地方時という意味があるのかと思いました。どうし > てかというと、 ふむ。 >> The 1 character military time zones were defined in a non-standard >> way in [RFC822] and are therefore unpredictable in their meaning. >> The original definitions of the military zones "A" through "I" are >> equivalent to "+0100" through "+0900" respectively; "K", "L", and "M" >> are equivalent to "+1000", "+1100", and "+1200" respectively; "N" >> through "Y" are equivalent to "-0100" through "-1200" respectively; >> and "Z" is equivalent to "+0000". However, because of the error in >> [RFC822], they SHOULD all be considered equivalent to "-0000" unless >> there is out-of-band information confirming their meaning. > > これをみると -0000 は信頼に足る情報が存在しない場合の便宜的な印にすぎ > ないように思うからです。 これはエラー処理でしかたなくそうする、という話だと私は感じま す。 -0000 自体の意味は、+0000 の説明と並んでいる説明が基本的な意 味だと私は思っています。 > 僕としては、自分のところの時差も判らないのに、UTC の時刻はちゃんと判る、 > というのは不思議な感じがします。 私は、夏時間を実装するのはひどく厄介なので、UTC の時刻だけは わかる、というのはありそうな話だと思います。 Unix の影響が強い気もしますが。 > semantically identical は値が同じなんじゃなくて、まったく区別できない > という感じがしたんですが。 えぇ、だから +0000 にはイギリスなどという意味があって、UT と 区別できないとしたら UT にもイギリスなどという意味がついてし まっておかしいなぁ、と思うわけです。 >> UT, GMT が +0000 と同じだとすると、GMT と書くとこれは冬のイ >> ギリス (あるいはそことおなじ時差の地域) の時刻という意味がつ >> くわけですが、それは変では? > > この場合は、GMT は、UT ないし、UTC の意味でつかわれていると解釈される > べきだと思います。科学的に正しくないですが、正しくない記述のほうが殆ど > ですし、 えぇ、だからイギリスなどという意味がつくのは変ですよねぇ。 >>obs-zone = "UT" / "GMT" / ; Universal Time > > というコメントからもそうだと判断しました。 まぁ、BST (British Summer Time) はありませんしね。 -- [田中 哲][たなか あきら][Tanaka Akira]