Feature #9549
closedImprovements to Time::strptime
Description
I opened a pull request on GitHub a few days ago but wanted to open a parallel issue here, since I think this is the preferred tracker.
This patch includes three commits:
- 
Add default arguments to Time::strptimeto matchDate::strptime. After this patch,Time::strptimemay be invoked with 0, 1, or 2 arguments. When invoked with 0 or 1, it produces a result equivalent toDate::strptimeinvoked with the same arguments.
- 
Raise ArgumentError if time passed to Time::strptimeis invalid. This fixes a Ruby bug and adds a test to ensure it will not regress. Before this commit:require 'date' 
 Date::strptime('31/02/2014', '%d/%m/%Y') # ArgumentError: invalid date
 require 'time'
 Time::strptime('31/02/2014', '%d/%m/%Y') # 2014-03-03 00:00:00 +0000
- 
I have also renamed variables in Time::parseto be consistent with the changes I made toTime::strptime. Specifically, renamingdtohash, since it is not aDateand renaming thedateparameter totime. I believe both of these changes make the code clearer.
Thank you for considering this patch.
Files