Issue #14879 has been updated by ioquatix (Samuel Williams).


Okay, I tried more complex example which was my original repro.

```
git clone gi / github.com:ioquatix/time-zone
cd time-zone

^_^ > rake console
[1] pry(main)> time, zone = Time::Zone.parse("5pm", "Pacific/Auckland")
=> [2018-06-29 17:00:00 +1200, "Pacific/Auckland"]
[2] pry(main)> time
=> 2018-06-29 17:00:00 +1200
[3] pry(main)> time + 1
=> 2018-06-29 17:00:01 +1200
[4] pry(main)> time - 1
=> 2018-06-29 16:59:59 +1200
[5] pry(main)> 
^_^ > TZ=UTC rake console
[1] pry(main)> time, zone = Time::Zone.parse("5pm", "Pacific/Auckland")
=> [2018-06-29 17:00:00 +1200, "Pacific/Auckland"]
[2] pry(main)> time + 1
=> 2018-06-29 05:00:01 +0000
[3] pry(main)> time - 1
=> 2018-06-29 04:59:59 +0000
[4] pry(main)> 
```

It does seem like something odd is going on here. My apologies if I've overlooked something. Thanks for your input so far.

----------------------------------------
Bug #14879: Adding/subtracting from time can change utc_offset unexpectedly.
https://bugs.ruby-lang.org/issues/14879#change-72707

* Author: ioquatix (Samuel Williams)
* Status: Open
* Priority: Normal
* Assignee: 
* Target version: 
* ruby -v: 
* Backport: 2.3: UNKNOWN, 2.4: UNKNOWN, 2.5: UNKNOWN
----------------------------------------
I have been having some problems with `Time`. When I add or subtract seconds, sometimes the utc_offset is changed unexpectedly.

```
$ ruby -e 'require "time"; puts Time.parse("5pm NZT")'            
2018-06-29 17:00:00 +1200

$ ruby -e 'require "time"; puts Time.parse("5pm NZT") + 1'
2018-06-29 17:00:01 +1200

$ TZ=UTC ruby -e 'require "time"; puts Time.parse("5pm NZT") + 1'
2018-06-29 17:00:01 +0000
```

This seems like strange behaviour. The `utc_offset` shouldn't change IMHO.



-- 
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>