Project

General

Profile

Actions

Bug #10614

closed

strpdate and Leap Days

Added by cwoodcox (Corey Woodcox) over 9 years ago. Updated almost 5 years ago.

Status:
Closed
Assignee:
-
Target version:
-
ruby -v:
ruby 2.1.5p273 (2014-11-13 revision 48405) [x86_64-darwin14.0]
[ruby-core:66930]

Description

I'm experiencing an issue parsing dates and leap days.

When the format string includes the year, everything works as expected:

>> Date.strptime('02/29/2012', '%m/%d/%Y')
=> #<Date: 2012-02-29 ((2455987j,0s,0n),+0s,2299161j)>

Parsing a date without a year assumes this year:

>> Date.strptime('01/01', '%m/%d')
=> #<Date: 2014-01-01 ((2456659j,0s,0n),+0s,2299161j)>

Here's my issue, parsing a leap day without a year assumes I mean this year, and this year is not a leap year:

>> Date.strptime('02/29/2012', '%m/%d')
ArgumentError: invalid date

Thinking about it now, I'm not sure what the expected behavior should be. Python assumes 1900 under the same circumstances, and it doesn't throw an exception.

Actions

Also available in: Atom PDF

Like0
Like0Like0Like0