temporal: use uppercase unit designator labels by default #191
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.
This somewhat revives #22, but makes it possible to restore the previous
behavior by enabling
jiff::fmt::temporal::SpanPrinter::lowercase
.The main motivation here is also detailed in #22, and it came up again
in #190. I was previously reluctant to do this because I find
P1Y2M3DT4H5M6S
hideously difficult to read andP1y2m3dT4h5m6s
somewhat less difficult to read. But now that
jiff::fmt::friendly
is athing and users have easy access to a more readable duration display
format, I feel less bad about this. It's still a shame that it's the
default via
span.to_string()
, but I tried to sprinkle a fewformat!("{span:#}")
in places to nudge users toward the friendlyformat.
It's a shame more systems don't accept lowercase unit designator labels,
but since Jiff uses the ISO 8601 by default specifically for its
interoperability, it makes sense to be as interoperable as we can by
default.
Fixes #190