From: Sato Hiroshi Date: 2006-11-16T16:45:27+09:00 Subject: [ruby-list:43001] Re: Time.iso8601が常にUTCの時刻を返す hirocyです. ちょっと前のメールへの返信で恐縮ですが... On Sun, 29 Oct 2006 23:12:47 +0900, Hiroshi Ichikawa wrote: > 改めてヘルプを見たら >> Time オブジェクトは協定世界時と地方時のどちらの >> タイムゾーンを使用するかのフラグを内部に保持しています。 > とのことで、そもそもUTCとローカル以外のタイムゾーンは > Timeオブジェクトで扱えないんですね。 > > で、Time.iso8601はUTC、Time.parseはローカル時間を返す、と。 > #なんか統一感がない気もしますが。 UTCであることが分かっている文字列からTimeオブジェクトを生成する際, Time.parseが使えないので少々不便に感じています. (たとえタイムゾーンが文字列中に書いてあっても) Time.utc_offsetを利用して自前でTime.parse_utc等を作ってしまえば 済む話ではありますが,標準であってもいいかなぁという気はします. もしくは,Timeオブジェクトが保持しているタイムゾーン情報を 強制的に変更するメソッドでもいいですね.time.parse.utc! とか. (メソッド名は要検討) 一番いいのは,Time.parseが文字列中のタイムゾーンを理解する, かつ,タイムゾーンを引数でも与えられるようになることでしょうか. そのためにはTimeがUTCとローカル以外も扱えるようにならなければ いけませんが. -- // hirocy