Ruby时区转换

要将MySQL数据库中的数据,由日本服务器转移到美国服务器。日本服务器的时区是JST,美国服务器的时区是PDT。使用了MySQL的Dump/Restore,完成导入后发现,数据库中的timestamps字段没有被正确的转换,比如原来是日本时间的 2010/7/1 20:14:11 变成了美国太平洋夏令时的 2010/7/1 20:14:11,需要做时间的转换。(试过MySQLDump中的时区转换选项,可能是我设置的问题,没有成功)

使用Ruby做了是脚本,在美国服务器上,将时间修全部进行了转换。下边的代码省略了读取数据库的部分。
class Time
  def convert_zone(from_zone, to_zone)
    original_zone = ENV["TZ"]
    ENV["TZ"] = from_zon
    from_zone_time = Time.local(year, month, day, hour, min, sec)
    utc_time = from_zone_time.gmtime
    ENV["TZ"] = to_zone
    to_zone_time = utc_time.localtime
    ENV["TZ"] = original_zone
    return to_zone_time
  end
end

t = Time.now
puts t
puts t.convert_zone("Asia/Tokyo", "US/Pacific")


参考
http://book.csdn.net/bookfiles/375/10037514138.shtml

你可能感兴趣的:(mysql,.net,脚本,Ruby)