Actions
Bug #20327
closedTime.new behaves differently when passing a zone as timezone object
Status:
Closed
Assignee:
-
Target version:
-
ruby -v:
ruby 3.3.0 (2023-12-25 revision 5124f9ac75) [arm64-darwin23]
Description
Time.new with a timezone object for the zone argument produces incorrect utc_offset when passing seconds as a Rational.
require "tzinfo"
# This correctly outputs 0 as the utc_offset
puts Time.new(2024, 1, 1, 23, 59, 59.9r, "UTC").utc_offset # => 0
# Inspecting the time looks correct
puts Time.new(2024, 1, 1, 23, 59, 59.9r, "UTC").inspect # => "2024-01-01 23:59:59.9 UTC"
# Using a timezone object for the zone, results are different
puts Time.new(2024, 1, 1, 23, 59, 59.9r, TZInfo::Timezone.get("Etc/UTC")).utc_offset # => (9/10)
# Inspecting the time object reveals the odd offset
puts Time.new(2024, 1, 1, 23, 59, 59.9r, TZInfo::Timezone.get("Etc/UTC")).inspect # => "2024-01-01 23:59:59.9 +000001"
Updated by nobu (Nobuyoshi Nakada) 9 months ago
- Status changed from Open to Closed
Applied in changeset git|d3279a0c11ca45ca85027e7eb74dc4aac52c478b.
[Bug #20327] Do not count subsecond to calculate UTC offset
Assume that there will never be any time zones with UTC offsets that
are subseconds. Historically, UTC offset has only been used down to
the second.
Updated by nobu (Nobuyoshi Nakada) 9 months ago
- Backport changed from 3.0: UNKNOWN, 3.1: UNKNOWN, 3.2: UNKNOWN, 3.3: UNKNOWN to 3.0: REQUIRED, 3.1: REQUIRED, 3.2: REQUIRED, 3.3: REQUIRED
Updated by naruse (Yui NARUSE) 8 months ago
- Backport changed from 3.0: REQUIRED, 3.1: REQUIRED, 3.2: REQUIRED, 3.3: REQUIRED to 3.0: REQUIRED, 3.1: REQUIRED, 3.2: REQUIRED, 3.3: DONE
ruby_3_3 821719a505bbc628ddd80b90ae892666006eada1 merged revision(s) d3279a0c11ca45ca85027e7eb74dc4aac52c478b.
Updated by nagachika (Tomoyuki Chikanaga) 8 months ago
- Backport changed from 3.0: REQUIRED, 3.1: REQUIRED, 3.2: REQUIRED, 3.3: DONE to 3.0: REQUIRED, 3.1: REQUIRED, 3.2: DONE, 3.3: DONE
ruby_3_2 e6bf38a6e7fbae0097fdf51e3c752820a2c58ae4 merged revision(s) d3279a0c11ca45ca85027e7eb74dc4aac52c478b.
Actions
Like0
Like1Like0Like0Like0