Project

General

Profile

Actions

Bug #10614

closed

strpdate and Leap Days

Bug #10614: strpdate and Leap Days

Added by cwoodcox (Corey Woodcox) almost 11 years ago. Updated over 6 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: PDF Atom