From: merch-redmine@... Date: 2018-06-29T14:24:19+00:00 Subject: [ruby-core:87692] [Ruby trunk Bug#14879] Adding/subtracting from time can change utc_offset unexpectedly. Issue #14879 has been updated by jeremyevans0 (Jeremy Evans). As Hans correctly showed, addition/subtraction does not change the utc_offset, the utc_offset is already set to 0 before the addition/subtraction. That is because `TZ=UTC` and the fact that NZT is not a recognized time zone by the time library (the time library only supports a few time zones specified by ISO 8601 and RFC 2822). You can add time zones if you want to support them: ~~~ TZ=UTC ruby -e 'require "time"; Time.singleton_class::ZoneOffset["NZT"] = 12; puts Time.parse("5pm NZT") 2018-06-30 17:00:00 +1200 ~~~ I think this should be closed. ---------------------------------------- Bug #14879: Adding/subtracting from time can change utc_offset unexpectedly. https://bugs.ruby-lang.org/issues/14879#change-72715 * 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: