From: "davekaro (Dave Kroondyk) via ruby-core" Date: 2024-03-07T01:56:49+00:00 Subject: [ruby-core:117071] [Ruby master Bug#20327] Time.new behaves differently when passing a zone as timezone object Issue #20327 has been reported by davekaro (Dave Kroondyk). ---------------------------------------- Bug #20327: Time.new behaves differently when passing a zone as timezone object https://bugs.ruby-lang.org/issues/20327 * Author: davekaro (Dave Kroondyk) * Status: Open * ruby -v: ruby 3.3.0 (2023-12-25 revision 5124f9ac75) [arm64-darwin23] * Backport: 3.0: UNKNOWN, 3.1: UNKNOWN, 3.2: UNKNOWN, 3.3: UNKNOWN ---------------------------------------- Time.new with a timezone object for the zone argument produces incorrect utc_offset when passing seconds as a Rational. ``` ruby 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" ``` -- https://bugs.ruby-lang.org/ ______________________________________________ ruby-core mailing list -- ruby-core@ml.ruby-lang.org To unsubscribe send an email to ruby-core-leave@ml.ruby-lang.org ruby-core info -- https://ml.ruby-lang.org/mailman3/postorius/lists/ruby-core.ml.ruby-lang.org/