From: samuel@... Date: 2018-06-29T04:24:06+00:00 Subject: [ruby-core:87675] [Ruby trunk Bug#14880] Time#localtime doesn't always seem to respect TZ Issue #14880 has been reported by ioquatix (Samuel Williams). ---------------------------------------- Bug #14880: Time#localtime doesn't always seem to respect TZ https://bugs.ruby-lang.org/issues/14880 * Author: ioquatix (Samuel Williams) * Status: Open * Priority: Normal * Assignee: * Target version: * ruby -v: * Backport: 2.3: UNKNOWN, 2.4: UNKNOWN, 2.5: UNKNOWN ---------------------------------------- In the first case, calling `#localtime` doesn't change the utc_offset. ``` $ TZ=UTC ruby -e 'ENV["TZ"]="Pacific/Auckland"; puts t=Time.new; ENV["TZ"]="UTC"; puts t.localtime' 2018-06-29 16:21:36 +1200 2018-06-29 16:21:36 +1200 $ TZ=UTC ruby -e 'ENV["TZ"]="Pacific/Auckland"; puts t=Time.new; ENV["TZ"]="UTC"; puts Time.new(t.year, t.month, t.day, t.hour, t.min, t.sec, t.utc_offset).localtime' 2018-06-29 16:23:08 +1200 2018-06-29 04:23:08 +0000 ``` In the second case, by creating new time, calling `#localtime` works as expected. It seems like once a time instance is "localtime", calling `#localtime` a 2nd time does not have any effect. -- https://bugs.ruby-lang.org/ Unsubscribe: