改变时区

时间:2011-03-30 08:32:41

标签: ruby-on-rails

我正在使用gem metar-parser来解析给定的天气报告(metar)。时间以UTC给出,但是一旦我的对象从gem返回,它的时区是+2(丹麦)。我想将此更改为UTC但保持小时数。

所以我找到了这个方法

module ActiveSupport
  class TimeWithZone
    def zone=(new_zone = ::Time.zone)
      # Reinitialize with the new zone and the local time
      initialize(nil, ::Time.__send__(:get_zone, new_zone), time)
    end
  end
end

这可能不是最优雅的方式。但问题是,我应该将这个time_with_zone.rb文件放在/ lib /中吗?无论如何,我从zone=得到NoM​​ethodError。

1 个答案:

答案 0 :(得分:1)

您找到代码here了吗?您可以像John在他的回答中解释的那样,在config / initializers目录或lib目录中创建一个文件。但是,将目录放在lib目录中需要将目录添加到自动加载路径。这是在config / application.rb文件中完成的。你应该添加如下内容:

config.autoload_paths += %W(#{config.root}/lib/)