Skip to content

struct Time::Location::Zone
inherits Struct

A Zone represents a time zone offset in effect in a specific Location.

Some zones have a name or abbreviation (such as PDT, CEST). For an unnamed zone the formatted offset should be used as name.

Constants

UTC = new("UTC", 0, false)

This is the UTC time zone with offset +00:00.

It is the only zone offset used in Time::Location::UTC.

Class methods

.new(name : String?, offset : Int32, dst : Bool)

Creates a new Zone named name with offset from UTC in seconds. The parameter dst is used to declare this zone as daylight savings time.

If name is nil, the formatted offset will be used as name (see #format).

Raises InvalidTimezoneOffsetError if seconds is outside the supported value range -86_400..86_400 seconds (-24:00 to +24:00).

View source

Methods

#dst? : Bool

Returns true if this zone offset is daylight savings time.

View source

#format(io : IO, with_colon = true, with_seconds = :auto)

Prints #offset to io in the format +HH:mm:ss. When with_colon is false, the format is +HHmmss.

When with_seconds is false, seconds are omitted; when :auto, seconds are omitted if 0.

View source

#format(with_colon = true, with_seconds = :auto)

Returns the #offset formatted as +HH:mm:ss. When with_colon is false, the format is +HHmmss.

When with_seconds is false, seconds are omitted; when :auto, seconds are omitted if 0.

View source

#inspect(io : IO) : Nil

Prints this Zone to io.

It contains the name, hour-minute-second format (see #format), offset in seconds and "DST" if #dst?, otherwise "STD".

View source

#name : String

Returns the name of the zone.

View source

#offset : Int32

Returns the offset from UTC in seconds.

View source