mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
Don't double fractional seconds when passing timezone object to Time.new
I found that fractional seconds were doubled when using the timezone feature of Time in Sequel's named_timezones extension (which uses TZInfo for the timezone object), and traced the problem to this code. There is no subsecx being modified in the utc_to_local call below this, and I'm not sure why you would want to add in the fractional seconds unless you assumed the timezone conversion would drop the existing fractional seconds (TZInfo doesn't drop fractional seconds).
This commit is contained in:
parent
d80226e7bd
commit
276f6a225d
Notes:
git
2020-11-28 15:42:06 +09:00
1 changed files with 10 additions and 0 deletions
|
@ -752,6 +752,16 @@ class TestTimeTZ::DummyTZ < Test::Unit::TestCase
|
|||
def self.make_timezone(tzname, abbr, utc_offset, abbr2 = nil, utc_offset2 = nil)
|
||||
TestTimeTZ::TZ.new(tzname, abbr, utc_offset, abbr2, utc_offset2)
|
||||
end
|
||||
|
||||
def test_fractional_second
|
||||
x = Object.new
|
||||
def x.local_to_utc(t); t + 8*3600; end
|
||||
def x.utc_to_local(t); t - 8*3600; end
|
||||
|
||||
t1 = Time.new(2020,11,11,12,13,14.124r, '-08:00')
|
||||
t2 = Time.new(2020,11,11,12,13,14.124r, x)
|
||||
assert_equal(t1, t2)
|
||||
end
|
||||
end
|
||||
|
||||
begin
|
||||
|
|
Loading…
Add table
Reference in a new issue