Improvements to Time::strptime
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
Date::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 to
Date::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:
Date::strptime('31/02/2014', '%d/%m/%Y') # ArgumentError: invalid date
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 to
Time::strptime. Specifically, renaming
hash, since it is not a
Dateand renaming the
time. I believe both of these changes make the code clearer.
Thank you for considering this patch.