Time With Zone

类似 Ruby 内置的 Time,但 Ruby 内置的 Time 所创建的实例对象局限于 UTC 和系统的 ENV['TZ'] 时区。这里的实例没有此局限,你可以用你想用的时区。

你不能直接使用 new 创建 TimeWithZone 实例对象,但可以用 local, parse, at 和 now 创建 TimeZone 实例对象,或者 in_time_zone 创建 TimeDateTime 实例对象。

Time.zone = 'Eastern Time (US & Canada)'
# => 'Eastern Time (US & Canada)'

Time.zone.local(2007, 2, 10, 15, 30, 45)
# => Sat, 10 Feb 2007 15:30:45 EST -05:00

Time.zone.parse('2007-02-10 15:30:45')
# => Sat, 10 Feb 2007 15:30:45 EST -05:00

Time.zone.at(1170361845)
# => Sat, 10 Feb 2007 15:30:45 EST -05:00

Time.zone.now
# => Sun, 18 May 2008 13:07:55 EDT -04:00

Time.utc(2007, 2, 10, 20, 30, 45).in_time_zone
# => Sat, 10 Feb 2007 15:30:45 EST -05:00

查询 Time 和 TimeZone 的 API 可以对这些方法有更多的了解。

TimeWithZone 创建的实例对象和 Ruby 内置的 Time 创建的实例对象完全兼容,也就是说它们是等价关系。

相关:Date, Time, DateTime, DateAndTime 以及 TimeZone.

实例方法:

最后更新于

这有帮助吗?