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")


[b]参考[/b]
http://book.csdn.net/bookfiles/375/10037514138.shtml
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值