From: samuel@... Date: 2018-06-29T21:45:45+00:00 Subject: [ruby-core:87697] [Ruby trunk Bug#14879] Adding/subtracting from time can change utc_offset unexpectedly. Issue #14879 has been updated by ioquatix (Samuel Williams). Jeremy, thanks for your interest. Here is a minimal repro: ``` #!/usr/bin/env ruby # https://bugs.ruby-lang.org/issues/14879 require 'time' ENV['TZ'] = "Pacific/Auckland" time = Time.parse("5pm") ENV['TZ'] = "UTC" puts time puts time.utc_offset puts (time + 1).utc_offset puts time + 1 ``` Thanks for the suggestion regarding `ZoneOffset`. However, that does not seem sufficient for capturing DST rules? ---------------------------------------- Bug #14879: Adding/subtracting from time can change utc_offset unexpectedly. https://bugs.ruby-lang.org/issues/14879#change-72721 * 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: