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: <mailto:ruby-core-request / ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>