fmt: add APIs for skipping weekday checking #53
Merged
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.
In the course of doing some experiments with using Jiff in
gix-date
, Idiscovered that it currently relies on the fact that parsing RFC 2822
datetimes (and similar) does not do error checking if the date and
weekday are inconsistent. Prior to this PR, Jiff required that the
weekday and date were consistent. This PR adds APIs for skipping this
check.
For RFC 2822, this adds a new
relaxed_weekday
configuration on theDateTimeParser
builder.For the strtime APIs, we achieve this by adding more granular accessors
and mutators on
BrokenDownTime
. So now folks can do this:Where the above succeeds even though 2024-07-27 was a Saturday. It's a
little verbose, but my hope is that this is a rarely needed thing.
This PR also adds getters and setters for individual fields on a
jiff::fmt::strtime::BrokenDownTime
. This affords a bit more flexibilityin terms of what can be parsed and formatted. For example, it
lets one parse just a weekday: