将一个时区转换为另一个时区



我正在使用Ruby。我想将UTC转换为各种时间转换。我关注这里的链接。

我的代码是:

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)

这里怎么了?

您可以将类名更改为Time。

然后称之为

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

gmtime是Time类的一个方法。

如果在调用'convert_zone'时出现错误,表示"未定义的方法`gmtime'",则可能是在传递一些东西,而不是所需的Time对象作为参数。

这里有一些类似的东西,你可能会寻找。http://www.java2s.com/Code/Ruby/Time/Converttimetotimezone.htm

您可以扩展Time类并定义自己的方法。

相关内容

  • 没有找到相关文章

最新更新