diff --git a/doc/_timezones.rdoc b/doc/_timezones.rdoc index 509d4e59b76120..61bc7e5a81f41f 100644 --- a/doc/_timezones.rdoc +++ b/doc/_timezones.rdoc @@ -66,8 +66,8 @@ The timezone methods are: - Called when Time.new is invoked with +tz+ as the value of positional argument +zone+ or keyword argument +in:+. - - Argument: a Time::tm object. - - Returns: a \Time-like object in the UTC timezone. + - Argument: a {Time-like object}[rdoc-ref:Time@Time-like+Objects]. + - Returns: a {Time-like object}[rdoc-ref:Time@Time-like+Objects] in the UTC timezone. - +utc_to_local+: @@ -75,8 +75,8 @@ The timezone methods are: as the value for keyword argument +in:+, and when Time#getlocal or Time#localtime is called with +tz+ as the value for positional argument +zone+. - - Argument: a Time::tm object. - - Returns: a \Time-like object in the local timezone. + - Argument: a {Time-like object}[rdoc-ref:Time@Time-like+Objects]. + - Returns: a {Time-like object}[rdoc-ref:Time@Time-like+Objects] in the local timezone. A custom timezone class may have these instance methods, which will be called if defined: @@ -84,7 +84,7 @@ which will be called if defined: - +abbr+: - Called when Time#strftime is invoked with a format involving %Z. - - Argument: a Time::tm object. + - Argument: a {Time-like object}[rdoc-ref:Time@Time-like+Objects]. - Returns: a string abbreviation for the timezone name. - +dst?+: @@ -93,7 +93,7 @@ which will be called if defined: as the value for keyword argument +in:+, and when Time#getlocal or Time#localtime is called with +tz+ as the value for positional argument +zone+. - - Argument: a Time::tm object. + - Argument: a {Time-like object}[rdoc-ref:Time@Time-like+Objects]. - Returns: whether the time is daylight saving time. - +name+: @@ -102,6 +102,32 @@ which will be called if defined: - Argument: none. - Returns: the string name of the timezone. +==== +Time+-like Objects + +A +Time+-like object means a container object to interface with +timezone libraries for timezone conversion. + +An argument object to the timezone conversion methods above will have +attributes similar to Time, except for that timezone related attributes +are meaningless. + +The objects returned by +local_to_utc+ and +utc_to_local+ methods of the +timezone object may be of the same class as their arguments, arbitrary +object classes, or Integer class. The others than +Integer+ just must +have the following attributes: + +- +year+ +- +mon+ +- +mday+ +- +hour+ +- +min+ +- +sec+ +- +isdst+ +- +to_i+ + +In the case an +Integer+ is returned, its components, decomposed in UTC, +are interpreted as times in the specified timezone. + === Timezone Names If the class (the receiver of class methods, or the class of the receiver