
Issue #20674 has been updated by nobu (Nobuyoshi Nakada). Status changed from Rejected to Third Party's Issue ```ruby require 'active_support' require 'active_support/core_ext' Time.zone = "Central Time (US & Canada)" p Time.at(1728018000, in: Time.zone) #=> 2024-10-04 00:00:00 -0500 ``` ---------------------------------------- Bug #20674: Time zone conversion issue Time.at https://bugs.ruby-lang.org/issues/20674#change-109402 * Author: moustafasallam (Moustafa Sallam Mahmoud) * Status: Third Party's Issue * 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/