Actions
Bug #15506
closedArgumentError on some ordinal dates
Status:
Closed
Assignee:
-
Target version:
-
ruby -v:
ruby 2.6.0p0 (2018-12-25 revision 66547) [x86_64-linux]
Description
Seems the bug was introduced with r64028:
Adding the difference between two ordinal dates (source:lib/time.rb#L210 : day += diff
) results in month days superior to 31 for dates at the beginning of a month, causing the out of range error.
require "time"
Time.strptime("91095", "%y%j")
=> 1991-04-05 00:00:00 -0400
Time.strptime("91093", "%y%j")
Traceback (most recent call last):
4: from lib/ruby/2.6.0/time.rb:451:in `strptime'
3: from lib/ruby/2.6.0/time.rb:211:in `make_time'
2: from lib/ruby/2.6.0/time.rb:257:in `make_time'
1: from lib/ruby/2.6.0/time.rb:257:in `local'
ArgumentError (argument out of range)
Updated by nobu (Nobuyoshi Nakada) almost 6 years ago
- Status changed from Open to Closed
Updated by nagachika (Tomoyuki Chikanaga) almost 6 years ago
- Backport changed from 2.4: UNKNOWN, 2.5: UNKNOWN, 2.6: UNKNOWN to 2.4: REQUIRED, 2.5: REQUIRED, 2.6: REQUIRED
Updated by naruse (Yui NARUSE) almost 6 years ago
- Backport changed from 2.4: REQUIRED, 2.5: REQUIRED, 2.6: REQUIRED to 2.4: REQUIRED, 2.5: REQUIRED, 2.6: DONE
ruby_2_6 r66825 merged revision(s) 66735.
Updated by mame (Yusuke Endoh) over 5 years ago
- Related to Bug #15776: Difference between Time.parse behaviour between 2.6.0 and 2.6.1+ added
Actions
Like0
Like0Like0Like0Like0