【问题标题】:Converting one Timezone to another将一个时区转换为另一个
【发布时间】:2012-02-08 05:56:58
【问题描述】:

我正在使用 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)

这里有什么问题?

【问题讨论】:

    标签: ruby datetime timezone


    【解决方案1】:

    您可以将类名更改为 Time。

    然后称它为,

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

    gmtime 是 Time 类的一个方法。

    【讨论】:

      【解决方案2】:

      如果您在调用“convert_zone”时遇到错误,说“未定义的方法 `gmtime'”,那么您可能传递了一些东西而不是所需的 Time 对象作为参数。

      您可能会寻找类似的东西。 http://www.java2s.com/Code/Ruby/Time/Converttimetotimezone.htm

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

      【讨论】:

        猜你喜欢
        • 2012-10-27
        • 2014-02-11
        • 2019-04-14
        • 2015-02-21
        • 2011-02-02
        • 2021-01-23
        • 2015-07-16
        • 2015-03-29
        相关资源
        最近更新 更多