fmt/strtime: support parsing and formatting fractional seconds#55
Merged
BurntSushi merged 1 commit intomasterfrom Jul 28, 2024
Merged
fmt/strtime: support parsing and formatting fractional seconds#55BurntSushi merged 1 commit intomasterfrom
BurntSushi merged 1 commit intomasterfrom
Conversation
This isn't supported in the analogous C APIs, but it turns out it was supported in the `chrono` crate and was actually being used. This adds two new directives, `%f` and `%.f`. The former always writes out at least one digit (and parsing requires at least one digit) and corresponds to the number of fractional nanoseconds. The latter includes the leading `.` and is satisfied by the empty string. That is, if a `.` isn't found when `%.f` is expected, then it is skipped entirely when parsing. Similarly, when formatting, if there are no fractional seconds (i.e., the subsecond component is `0`), then no fractional component is written either. It is expected that most use cases will reach for just `%.f`, since it will just do the "right" thing without thinking much about it. For example, `%H:%M:%S%.f` will parse both `23:30:01` and `23:30:01.789`. Closes #54
77dc509 to
10181ab
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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 isn't supported in the analogous C APIs, but it turns out it was
supported in the
chronocrate and was actually being used.This adds two new directives,
%fand%.f. The former always writesout at least one digit (and parsing requires at least one digit) and
corresponds to the number of fractional nanoseconds. The latter includes
the leading
.and is satisfied by the empty string. That is, if a.isn't found when
%.fis expected, then it is skipped entirely whenparsing. Similarly, when formatting, if there are no fractional seconds
(i.e., the subsecond component is
0), then no fractional component iswritten either.
It is expected that most use cases will reach for just
%.f, since itwill just do the "right" thing without thinking much about it. For
example,
%H:%M:%S%.fwill parse both23:30:01and23:30:01.789.Closes #54