Created on 2019-09-02.00:00:00 last changed 45 months ago
Proposed resolution:
This wording is relative to N4830.
Modify "Table 98 — Meaning of conversion specifiers" [tab:time.format.spec] as indicated:
Table 98 — Meaning of conversion specifiers [tab:time.format.spec] Specifier Replacement […] %j If the type being formatted is a specialization of duration, the decimal number of days
without padding. Otherwise, theTheday of the year as a decimal number.
Jan 1 is 001. If the result is less than three digits, it is left-padded with 0 to three digits.[…]
Modify "Table 99 — Meaning of parse flags" [tab:time.parse.spec] as indicated:
Table 99 — Meaning of parse flags [tab:time.parse.spec] Flag Parsed value […] %j If the type being parsed is a specialization of duration,
a decimal number of days. Otherwise, theTheday of the year as a decimal number. Jan 1 is 1.
In either case, theThemodified command %Nj specifies the maximum number of characters to read.
If N is not specified, the default is 3. Leading zeroes are permitted but not required.[…]
[ 2020-02 Status to Immediate on Thursday night in Prague. ]
[ 2020-02-13 After Thursday afternoon discussion in Prague, Marshall provides updated wording. ]
[ 2019-10 Priority set to 2 after reflector discussion ]
Previous resolution [SUPERSEDED]:
This wording is relative to N4830.
Modify "Table 98 — Meaning of conversion specifiers" [tab:time.format.spec] as indicated:
Table 98 — Meaning of conversion specifiers [tab:time.format.spec] Specifier Replacement […] %j The day of the year as a decimal number. Jan 1 is 001. If the result is less than three
digits, it is left-padded with 0 to three digits. If the type being formatted is a
specialization of duration, it is formatted as a decimal number of days.[…] Modify "Table 99 — Meaning of parse flags" [tab:time.parse.spec] as indicated:
Table 99 — Meaning of parse flags [tab:time.parse.spec] Flag Parsed value […] %j The day of the year as a decimal number. Jan 1 is 1. The modified command %Nj
specifies the maximum number of characters to read. If N is not specified, the default
is 3. Leading zeroes are permitted but not required. If the type being parsed is a
specialization of duration, it is parsed as a decimal number of days.[…]
%j represents the day number of the year when formatting and parsing time_points. It is also handy to interpret this flag consistently when formatting and parsing durations. That is if there is not enough information in the stream to represent a time_point, and if the target of the format/parse is a duration, %j represents a number of days.
#include <chrono> #include <iostream> #include <sstream> #include <string> int main() { using namespace std; using namespace std::chrono; // Parse %j as number of days into a duration istringstream in{"222"}; hours d; in >> parse("%j", d); cout << d << '\n'; cout << format("{:%j}", d) << '\n'; }
Output:
5328h 222
History | |||
---|---|---|---|
Date | User | Action | Args |
2021-02-25 10:48:01 | admin | set | status: wp -> c++20 |
2020-02-24 16:02:59 | admin | set | status: immediate -> wp |
2020-02-14 07:30:42 | admin | set | messages: + msg11095 |
2020-02-14 07:30:42 | admin | set | status: new -> immediate |
2020-02-13 18:06:22 | admin | set | messages: + msg11074 |
2019-10-07 02:21:30 | admin | set | messages: + msg10677 |
2019-09-14 10:25:21 | admin | set | messages: + msg10601 |
2019-09-02 00:00:00 | admin | create |