Project

General

Profile

Actions

Bug #15506

closed

ArgumentError on some ordinal dates

Added by v49564 (Victor Bruley) almost 6 years ago. Updated almost 6 years ago.

Status:
Closed
Assignee:
-
Target version:
-
ruby -v:
ruby 2.6.0p0 (2018-12-25 revision 66547) [x86_64-linux]
[ruby-core:90897]

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)

Related issues 1 (0 open1 closed)

Related to Ruby master - Bug #15776: Difference between Time.parse behaviour between 2.6.0 and 2.6.1+Rejectednobu (Nobuyoshi Nakada)Actions
Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0