fmt: improve strptime so that it can parse adjacent values more easily #70
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Previously,
strptime
worked greedily. That is, specifiers like%Y
matched as many ASCII digits as possible, and then tried to parse all
of them into a year value.
But this meant that using
%Y%m%d
to parse something like20240730
couldn't work:
%Y
would consume all of20240730
and then of coursefail since the value exceeds the year boundaries of Jiff.
Instead, we tweak how parsing works so that it only consumes the
maximum possible number of digits given its boundaries.
Fixes #62