From: samuel@... Date: 2018-06-29T10:13:14+00:00 Subject: [ruby-core:87686] [Ruby trunk Bug#14879] Adding/subtracting from time can change utc_offset unexpectedly. 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: