Type:
Class

A Time-like class that can represent a time in any time zone. Necessary because standard Ruby Time instances are limited to UTC and the system's ENV['TZ'] zone.

You shouldn't ever need to create a TimeWithZone instance directly via new. Instead use methods local, parse, at and now on TimeZone instances, and in_time_zone on Time and DateTime instances.

1
2
3
4
5
6
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

See Time and TimeZone for further documentation of these methods.

TimeWithZone instances implement the same API as Ruby Time instances, so that Time and TimeWithZone instances are interchangeable.

1
2
3
4
5
6
7
8
9
10
11
t = Time.zone.now                     # => Sun, 18 May 2008 13:27:25 EDT -04:00
t.hour                                # => 13
t.dst?                                # => true
t.utc_offset                          # => -14400
t.zone                                # => "EDT"
t.to_s(:rfc822)                       # => "Sun, 18 May 2008 13:27:25 -0400"
t + 1.day                             # => Mon, 19 May 2008 13:27:25 EDT -04:00
t.beginning_of_year                   # => Tue, 01 Jan 2008 00:00:00 EST -05:00
t > Time.utc(1999)                    # => true
t.is_a?(Time)                         # => true
t.is_a?(ActiveSupport::TimeWithZone)  # => true
dst?
  • References/Ruby on Rails/Rails/Classes/ActiveSupport/ActiveSupport::TimeWithZone

dst?() Instance Public methods Returns true if the current time is within Daylight

2025-01-10 15:47:30
gmtoff
  • References/Ruby on Rails/Rails/Classes/ActiveSupport/ActiveSupport::TimeWithZone

gmtoff() Instance Public methods Alias for:

2025-01-10 15:47:30
respond_to_missing?
  • References/Ruby on Rails/Rails/Classes/ActiveSupport/ActiveSupport::TimeWithZone

respond_to_missing?(sym, include_priv) Instance Public methods Ensure proxy

2025-01-10 15:47:30
getutc
  • References/Ruby on Rails/Rails/Classes/ActiveSupport/ActiveSupport::TimeWithZone

getutc() Instance Public methods Alias for:

2025-01-10 15:47:30
new
  • References/Ruby on Rails/Rails/Classes/ActiveSupport/ActiveSupport::TimeWithZone

new(utc_time, time_zone, local_time = nil, period = nil) Class Public methods

2025-01-10 15:47:30
to_formatted_s
  • References/Ruby on Rails/Rails/Classes/ActiveSupport/ActiveSupport::TimeWithZone

to_formatted_s(format = :default) Instance Public methods Alias for:

2025-01-10 15:47:30
utc
  • References/Ruby on Rails/Rails/Classes/ActiveSupport/ActiveSupport::TimeWithZone

utc() Instance Public methods Returns a

2025-01-10 15:47:30
is_a?
  • References/Ruby on Rails/Rails/Classes/ActiveSupport/ActiveSupport::TimeWithZone

is_a?(klass) Instance Public methods Say we're a

2025-01-10 15:47:30
rfc822
  • References/Ruby on Rails/Rails/Classes/ActiveSupport/ActiveSupport::TimeWithZone

rfc822() Instance Public methods Alias for:

2025-01-10 15:47:30
to_f
  • References/Ruby on Rails/Rails/Classes/ActiveSupport/ActiveSupport::TimeWithZone

to_f() Instance Public methods

2025-01-10 15:47:30