2012-02-08 3 views
0

私はRubyを使っています。私はUTCをさまざまな時間変換に変換したい。私はリンクhereに従う。タイムゾーンを別のものに変換する

class TimeFormat 
    def convert_zone(to_zone) 
    original_zone = ENV["TZ"] 
    utc_time = dup.gmtime 
    ENV["TZ"] = to_zone 
    to_zone_time = utc_time.localtime 
    ENV["TZ"] = original_zone 
    return to_zone_time 
    end 
end 

t = TimeFormat.new 
t.convert_zone("US/Pacific") 

しかし、それは示しています:

私のコードがある

undefined method `gmtime' for #<TimeFormat:0x9043388> (NoMethodError) 

ここで間違っては何ですか?

答えて

1

「convert_zone」という名前の「未定義メソッド `gmtime '」を呼び出すときにエラーが発生した場合は、必要なTimeオブジェクトの代わりに何かをパラメータとして渡している可能性があります。

ここでは、お探しのものとよく似たものがあります。 http://www.java2s.com/Code/Ruby/Time/Converttimetotimezone.htm

Timeクラスを拡張して独自のメソッドを定義できます。

2

時間としてクラス名を変更できます。

t = Time.new 
t.convert_zone("US/Pacific") 

のgmtimeは時間クラスのメソッドである、として

そして、それを呼び出します。

関連する問題