From e4b05d91eb0d48fd172abf015c493bb42d755d07 Mon Sep 17 00:00:00 2001 From: akr Date: Tue, 6 May 2014 09:50:08 +0000 Subject: * lib/time.rb (Time.make_time): Adjust the time zone of "now". git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45843 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- lib/time.rb | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) (limited to 'lib') diff --git a/lib/time.rb b/lib/time.rb index 31a93f932f..3728fef59c 100644 --- a/lib/time.rb +++ b/lib/time.rb @@ -251,8 +251,19 @@ class Time raise ArgumentError, "no time information in #{date.inspect}" end + off_year = year || now.year + off = nil + off = zone_offset(zone, off_year) if zone + + if off + now = now.getlocal(off) if now.utc_offset != off + else + now = now.getlocal + end + usec = nil usec = sec_fraction * 1000000 if sec_fraction + if now begin break if year; year = now.year @@ -273,8 +284,10 @@ class Time sec ||= 0 usec ||= 0 - off = nil - off = zone_offset(zone, year) if zone + if year != off_year + off = nil + off = zone_offset(zone, year) if zone + end if off year, mon, day, hour, min, sec = -- cgit v1.2.3