要将MySQL数据库中的数据,由日本服务器转移到美国服务器。日本服务器的时区是JST,美国服务器的时区是PDT。使用了MySQL的Dump/Restore,完成导入后发现,数据库中的timestamps字段没有被正确的转换,比如原来是日本时间的 2010/7/1 20:14:11 变成了美国太平洋夏令时的 2010/7/1 20:14:11,需要做时间的转换。(试过MySQLDump中的时区转换选项,可能是我设置的问题,没有成功)
使用Ruby做了是脚本,在美国服务器上,将时间修全部进行了转换。下边的代码省略了读取数据库的部分。
[b]参考[/b]
http://book.csdn.net/bookfiles/375/10037514138.shtml
使用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")
[b]参考[/b]
http://book.csdn.net/bookfiles/375/10037514138.shtml