Issue #14879 has been updated by ioquatix (Samuel Williams).
I have added some specs for this behaviour here: https://github.com/ioquatix/time-zone/blob/cdde65cd8f29d6d9fc645e2182093a7146048b44/spec/time/zone_spec.rb#L91-L99
You can see test results here: https://travis-ci.org/ioquatix/time-zone
The work around for this bug was to convert whatever is the resulting time back into the correct timezone: https://github.com/ioquatix/time-zone/blob/cdde65cd8f29d6d9fc645e2182093a7146048b44/lib/time/zone/timestamp.rb#L79-L82
I'm open to suggestions for ways to improve this.
----------------------------------------
Bug #14879: Adding/subtracting from time can change utc_offset unexpectedly.
https://bugs.ruby-lang.org/issues/14879#change-72699
* 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>