From: nobu.nakada@... Date: 1999-10-17T13:48:46+09:00 Subject: [ruby-list:17771] Re: how to get GMT with TIMEZONE なかだです。 At Sun, 17 Oct 1999 06:14:39 +0900, Kikutani, Makoto wrote: > Timeクラスをながめているんですが、timezoneが数字でなく > JSTとかEDTになってるとめんどうそうです。 Time は基本的に mktime(3) を使ってるので、 @time = begin save, ENV["TZ"] = ENV["TZ"], timezone Time.mktime(y, mo, d, h, mi, sec) ensure ENV["TZ"] = save end とか。当然スレッド間で競合するので、Time::mktime に timezone 引数 を追加してやって、Time の中で mutex してやった方がいいのかも知れ ませんが、そもそも途中で ENV["TZ"] を変更しても反映されないシステ ムもあるかも知れないので、確実性には疑問が残ります。 確実なのは自分で Timezone の設定ファイルなどを読んで来るという 手ですが、おそらくポータビリティはないでしょうし、そうなると timezone の対照表を自前で持ったほうが安心かも。 > どうしたもんでしょう? Time が、そもそも複数のタイムゾーンの同時使用を考慮していない C library をベースにしている以上、スマートな解決策はありえないよ うな気がします。 -- そうだ 強気に ちょっと インチキに☆彡 中田 "Bugるくらいがちょうどいいかも;-)" 伸悦