From: samuel@... Date: 2018-08-27T04:29:30+00:00 Subject: [ruby-core:88663] [Ruby trunk Bug#14880] Time#localtime doesn't always seem to respect TZ Issue #14880 has been updated by ioquatix (Samuel Williams). @nobu Isn't changing TZ enough that `#localtime` should do something? ---------------------------------------- Bug #14880: Time#localtime doesn't always seem to respect TZ https://bugs.ruby-lang.org/issues/14880#change-73720 * Author: ioquatix (Samuel Williams) * Status: Closed * 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: