2012-02-08 9 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» с сообщением «undefined method` gmtime », вы, вероятно, передаете что-то вместо требуемого объекта Time в качестве параметра.

Вот что-то похожее, что вы можете ищите. http://www.java2s.com/Code/Ruby/Time/Converttimetotimezone.htm

Вы можете расширить класс времени и определить свой собственный метод.

2

Вы можете изменить имя класса как «Время».

Тогда называют его,

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

gmtime является методом класса времени.

Смежные вопросы