From: "nobu (Nobuyoshi Nakada) via ruby-core" Date: 2024-08-13T03:56:09+00:00 Subject: [ruby-core:118837] [Ruby master Bug#20674] Time zone conversion issue Time.at Issue #20674 has been updated by nobu (Nobuyoshi Nakada). Description updated Status changed from Open to Rejected `Time.zone=` method is not defined in Ruby itself, probably defined by ActiveSupport. So `Time.at` is not affected by it at all, and -4 would have come from your "TZ" environment variable or system configuration. ---------------------------------------- Bug #20674: Time zone conversion issue Time.at https://bugs.ruby-lang.org/issues/20674#change-109401 * Author: moustafasallam (Moustafa Sallam Mahmoud) * Status: Rejected * ruby -v: ruby 3.2.2 * Backport: 3.1: UNKNOWN, 3.2: UNKNOWN, 3.3: UNKNOWN ---------------------------------------- `Time.at` converts the epoch time to the local time zone But there seems a weird case with Central Time (US & Canada) where it convert it one hour earlier for example take this timestamp 1728018000 when converted it to Central Time (US & Canada) with `Time.at` => Time.zone = "Central Time (US & Canada)" => "Central Time (US & Canada)" => Time.at(1728018000) => 2024-10-04 01:00:00 -0400 While using `ActiveSupport::TimeZone` ActiveSupport::TimeZone['Central Time (US & Canada)'].at(1728018000) => Fri, 04 Oct 2024 00:00:00.000000000 CDT -05:00 so `Time.at` convert it to -4 while `ActiveSupport::TimeZone` convert it to -5 -- 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/lists/ruby-core.ml.ruby-lang.org/