要将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
分享到:
相关推荐
TZInfo-Ruby时区库 是一个Ruby库,它提供对时区数据的访问,并允许使用时区规则转换时间。数据源TZInfo需要时区数据源。 有两种选择: 包含时区定义文件的zoneinfo目录。 这些文件是使用zic实用程序从生成的。 ...
TZ::格式化程序 用于时区格式转换的 Ruby gem。 这个 gem 提供了四个用于将时区格式相互转换的类。 PosixTZ 奥尔森WinTZ WinRegTZ 注意:这个 gem 不会修改基本的 ruby 类时区示例以阿拉斯加时区为例: 奥尔森 -...
I18nTimezones I18n时区-此gem的目的是简单地提供时区转换。 该gem易于与需要i18n时区转换的其他gem结合使用,因此我们可以使用通用的i18n时区转换gem。 如果您要对时区和翻译做任何事情,则无需重新发明轮子并...
时区提供了不同时区之间的夏令时感知转换。 这也是Ruby宝石的端口。安装将此添加到应用程序的shard.yml : dependencies : time_zone : github : imdrasil/time_zone用法以下代码将获取America / New_York时区...
它将所有SQL Server数据类型转换为本机Ruby原语,同时为类似时间的类型支持:utc或:local时区。 迄今为止,它是唯一一个在连接到SQL Server时允许客户端编码选项(默认为UTF-8)的Ruby客户端库。 它还可以正确编码...
日期时区 DateTimezone是一个ActiveRecord关注点,它使date类型的属性考虑到应用程序的时区,将String输入转换为Date 。动机在 JavaScript 中,有时我们希望将日期处理为Date并将其直接发送到 Rails 应用程序。 ...
blackchestnut.github.io 开发者须知 内容 React本机 的iOS 安卓 PostgreSQL 行政 弹性搜索 Craft.io流程 ...解析其他时区中的时间并转换为当前时区 观看次数 枚举选择中的人性化键 表单字段有错
#时区服务 ###安装 您需要安装: PostgreSQL 邮局 为服务创建数据库 执行此 sql 命令 CREATE EXTENSION postgis; CREATE EXTENSION postgis_topology; CREATE EXTENSION fuzzystrmatch; CREATE EXTENSION postgis...
ValidatesTimeliness¶↑来源:github.com/adzap/validates_timeliness问题:github....功能¶↑将日期,时间和日期时间的验证添加到ActiveModel Handles时区,并为您键入值的强制转换Only Rails日期/时间
处理时区并为您键入值的强制转换 仅提供完整验证的Rails日期/时间验证插件(请参阅ORM / ODM支持) 使用可扩展的日期/时间解析器(使用 。请参阅插件解析器) 支持I18n的错误消息 支持Ruby 2.0+ 安装 # in ...
办公时间以外的沟通 ...在对它们进行分析之前,通信日期值会转换为该时区。 办公时间开始时间:24小时格式的时间(例如, 5:45 AM 05:45 ),用于定义办公时间的开始。 办公时间结束:24小时制的格式化时间
要获得T恤,您必须在10月1日至31日之间的任何时区发出五个请求请求。 拉取请求可以发送到GitHub上的任何公共仓库,而不仅仅是我们突出显示的请求。 拉取请求必须包含您自己进行的提交。 您可以通过检查...