diff options
author | nagachika <nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2018-08-18 03:07:15 +0000 |
---|---|---|
committer | nagachika <nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2018-08-18 03:07:15 +0000 |
commit | 36045438973153db6ddb483fbf4413da9cda90d5 (patch) | |
tree | 70a2f0e8c6fd938da9982be8e7c023d7e1be1f6f | |
parent | 6baeed5b4fe22acf1761db879a1e9865cdd2d181 (diff) |
merge revision(s) 63512,63514: [Backport #14790]
time.rb: fix parsing time zone in iso8601
* lib/time.rb (Time.xmlschema): a colon in time zone designator
can be omitted. [ruby-core:87277] [Bug #14790]
time.rb: fix parsing time zone in iso8601
* lib/time.rb (Time.xmlschema): the minute in time zone designator
can be omitted together with the preceding colon.
[ruby-core:87277] [Bug #14790]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_5@64431 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | lib/time.rb | 2 | ||||
-rw-r--r-- | test/test_time.rb | 2 | ||||
-rw-r--r-- | version.h | 2 |
3 files changed, 4 insertions, 2 deletions
diff --git a/lib/time.rb b/lib/time.rb index bb5d0aac38..eb46a03ad3 100644 --- a/lib/time.rb +++ b/lib/time.rb @@ -575,7 +575,7 @@ class Time T (\d\d):(\d\d):(\d\d) (\.\d+)? - (Z|[+-]\d\d:\d\d)? + (Z|[+-]\d\d(?::?\d\d)?)? \s*\z/ix =~ date year = $1.to_i mon = $2.to_i diff --git a/test/test_time.rb b/test/test_time.rb index 9d7c976abf..26a7daaf2a 100644 --- a/test/test_time.rb +++ b/test/test_time.rb @@ -105,6 +105,8 @@ class TestTimeExtension < Test::Unit::TestCase # :nodoc: t = Time.utc(1996, 12, 20, 0, 39, 57) s = "1996-12-19T16:39:57-08:00" assert_equal(t, Time.__send__(method, s)) + assert_equal(t, Time.__send__(method, s.sub(/:(?=00\z)/, ''))) + assert_equal(t, Time.__send__(method, s.sub(/:00\z/, ''))) # There is no way to generate time string with arbitrary timezone. s = "1996-12-20T00:39:57Z" assert_equal(t, Time.__send__(method, s)) @@ -1,6 +1,6 @@ #define RUBY_VERSION "2.5.2" #define RUBY_RELEASE_DATE "2018-08-18" -#define RUBY_PATCHLEVEL 74 +#define RUBY_PATCHLEVEL 75 #define RUBY_RELEASE_YEAR 2018 #define RUBY_RELEASE_MONTH 8 |