1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

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_4@64148 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
usa 2018-07-31 14:12:08 +00:00
parent 607d93b92e
commit 9f86a43648
3 changed files with 4 additions and 2 deletions

View file

@ -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

View file

@ -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))

View file

@ -1,6 +1,6 @@
#define RUBY_VERSION "2.4.5"
#define RUBY_RELEASE_DATE "2018-07-31"
#define RUBY_PATCHLEVEL 313
#define RUBY_PATCHLEVEL 314
#define RUBY_RELEASE_YEAR 2018
#define RUBY_RELEASE_MONTH 7