This page is a snapshot from the LWG issues list, see the Library Active Issues List for more information and the meaning of New status.
%C
Section: 30.12 [time.format] Status: New Submitter: Jiang An Opened: 2023-12-08 Last modified: 2025-10-17
Priority: 3
View other active issues in [time.format].
View all other issues in [time.format].
View all issues with New status.
Discussion:
Table 101, [tab:time.format.spec] reads:
Specifier | Replacement |
---|---|
[…]
|
|
%C |
The year divided by 100 using floored division. If the result is a single decimal digit, itis prefixed with 0 . The modified command %EC produces the locale's alternativerepresentation of the century. |
[…]
|
When the year is in range [-99, -10]
, it is unclear whether the result (in range [-9, -1]
)
is considered as a single decimal digit, and there is implementation divergence
(llvm/llvm-project#74727).
[2025-10-17; Reflector poll.]
Set priority to 3 after reflector poll.
Howard intended Option B, i.e. "-09"
, but Option B could possibly be interpreted to mean "0-9"
.
"Maybe something like the 0 is inserted before the sole digit, or after the sign, if any."
Previous resolution [SUPERSEDED]:
This wording is relative to N4964.
[Drafting Note: Two mutually exclusive options are prepared, depicted below by Option A and Option B, respectively.]
Option A:
Modify 30.12 [time.format], Table 101 [tab:time.format.spec], as indicated:
Table 101 — Meaning of conversion specifiers [tab:time.format.spec] Specifier Replacement […]
%C
The year divided by 100
using floored division. If the result isa single decimal digitin range[0, 9]
, it
is prefixed with0
. The modified command%EC
produces the locale's alternative
representation of the century.[…]
Option B:
Modify 30.12 [time.format], Table 101 [tab:time.format.spec], as indicated:
Table 101 — Meaning of conversion specifiers [tab:time.format.spec] Specifier Replacement […]
%C
The year divided by 100
using floored division. If the result isa single decimal digitin range[-9, 9]
, it
is prefixed with0
. The modified command%EC
produces the locale's alternative
representation of the century.[…]
[2025-10-17; Jonathan provides new wording based on Option B]
Proposed resolution:
This wording is relative to N5014.
Modify 30.12 [time.format], Table 133 [tab:time.format.spec], as indicated:
Table 133 — Meaning of conversion specifiers [tab:time.format.spec] Specifier Replacement […]
%C
The year divided by 100
using floored division. If the result isa single decimal digit, it
is prefixed with0
in the range[-9, 9]
then0
is inserted before the single digit (after the sign, if present).
The modified command%EC
produces the locale's alternative
representation of the century.[…]