ふなばです。 >>> Sat, 13 Mar 1999 00:30:21 +0900 の刻に 「ikarashi」、すなわち >>> ikarashi / itlb.te.noda.sut.ac.jp(IKARASHI Akira) 氏曰く ikarashi> タイムゾーンというものは、実行中に頻繁に変更されるものではなく、 ikarashi> 漢字コードのようにアプリケーション中でほぼ固定で使用されるもの ikarashi> だろうという仮定で、Timeインスタンスが local, GMTといった状態を ikarashi> 持つのではなく、グローバル変数、仮りに $X とすると、 ikarashi> $X ikarashi> rubyの動作するタイムゾーン。文字列で指定し、nilの場合は実行環境の ikarashi> ローカルタイムとする。デフォルトは nil です。 ikarashi> ぐらいのもので、例えば ikarashi> $X == nil ではタイムゾーンがローカルタイムに設定されている状態。 ikarashi> $X == "GMT" ではタイムゾーンが協定世界時に設定されている状態。 ikarashi> $X == "JST" ではタイムゾーンが日本標準時に設定されている状態。 ikarashi> として動作するものを導入するのはどうでしょう?という提案でした。 先ず、現状では Time はタイムゾーンを解釈していません。それができれば、 Marshal.dump でもタイムゾーンを保存していると思います。UTC と地方時の 違いは、すなわち gmtime(3) と localtime(3) の違いです。それ以上のこと はしていません。 UTC か、地方時か、だけなら、なんらかの方法で、デフォルトのデフォルトを 設定することはできるかもしれません。まつもとさんにきいてみましょう! で、それはそれで必要だったら、あってもよいと思うんですが、僕がいいたかっ たのは別のことでした。 tadf> 現時点では、必要なら利用者が管理する、というか、自明であるハズだという tadf> 態度なのかな。判定メソッドを用意しても、それは基本的に変えられないです tadf> よね。ですが、とくに隠さなきゃならない理由がなく、必要とする人がいれば、 tadf> あってもよいのかもしれません (なんか当たり前のこといっているな)。 これが少し解りにくかったと思うので、もう少し説明しますと、 Time にとっ て、我々が普段つかっている時刻表現は便宜的なものだし、その表現に基いて 演算することに特別な配慮はないです。たとえば、Mashal.dump したらもうタ イムゾーンは関係ないです。 そういうわけで、時刻そのものでなく、 時刻の 表現に関わる演算をする場合は、利用者のほうで、なんらかの配慮が必要な場 面もあり得る。判定メソッドとは関係なくそういうこともあるね、という話で すね。 ふなば ただよし