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)
¶
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)
¶
(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
).
Methods¶
#format(io : IO, with_colon = true, with_seconds = :auto)
¶
(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
.
#format(with_colon = true, with_seconds = :auto)
¶
(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
.