未初始化的常量ActiveSupport :: TimeZone(NameError)

时间:2011-12-15 17:24:39

标签: ruby timezone

我的Ruby脚本中有一些代码行获取当前日期(我的格式为GMT)并将其转换为ET(东部时间)。

我在Ruby脚本中有这个代码:

# get current time and date in ET
my_offset = 3600 * -5  # US Eastern

# find the zone with that offset
zone_name = ActiveSupport::TimeZone::MAPPING.keys.find do |name|
  ActiveSupport::TimeZone[name].utc_offset == my_offset
end
zone = ActiveSupport::TimeZone[zone_name]

time_locally = Time.now
time_in_zone = zone.at(time_locally)

问题是它在这里给出了错误(好吧,在这一行):zone_name = ActiveSupport::TimeZone::MAPPING.keys.find do |name|uninitialized constant ActiveSupport::TimeZone (NameError)

任何人都知道什么是错的?我从Stack Overflow here获得了这段代码。

1 个答案:

答案 0 :(得分:1)

添加

require 'active_support/time_with_zone'

在你的其他要求之后。