class TZInfo::Timezone
def local_timestamp(year, month = 1, day = 1, hour = 0, minute = 0, second = 0, sub_second = 0, dst = Timezone.default_dst, &block)
-
(AmbiguousTime)- if the date and time parameters are ambiguous for -
(PeriodNotFound)- if the date and time parameters do not specify a -
(RangeError)- if `sub_second` is a `Rational` but that is less -
(RangeError)- if `second` is not between 0 and 59. -
(RangeError)- if `minute` is not between 0 and 59. -
(RangeError)- if `hour` is not between 0 and 23. -
(RangeError)- if `day` is not between 1 and 31. -
(RangeError)- if `month` is not between 1 and 12. -
(ArgumentError)- if `utc_offset` is not `nil`, not an `Integer` -
(ArgumentError)- if `sub_second` is not a `Rational`, or the -
(ArgumentError)- if either of `year`, `month`, `day`, `hour`,
Returns:
-
(TimestampWithOffset)- a new {Timestamp} object based on the given
Other tags:
- Yieldreturn: - to resolve the ambiguity: a chosen {TimezonePeriod}
Other tags:
- Yieldparam: periods - an `Array` containing all
Other tags:
- Yield: - if the `dst` parameter did not resolve an ambiguity, an
Parameters:
-
dst(Boolean) -- whether to resolve ambiguous local times by always -
sub_second(Numeric) -- the fractional part of the second as either -
second(Integer) -- the second (0-59). -
minute(Integer) -- the minute (0-59). -
hour(Integer) -- the hour (0-23). -
day(Integer) -- the day of the month (1-31). -
month(Integer) -- the month (1-12). -
year(Integer) -- the year.
def local_timestamp(year, month = 1, day = 1, hour = 0, minute = 0, second = 0, sub_second = 0, dst = Timezone.default_dst, &block) ts = Timestamp.create(year, month, day, hour, minute, second, sub_second) timezone_offset = period_for_local(ts, dst, &block).offset utc_offset = timezone_offset.observed_utc_offset TimestampWithOffset.new(ts.value - utc_offset, sub_second, utc_offset).set_timezone_offset(timezone_offset) end