Description
Temporal.PlainDate has two different year properties: an eraYear
property that's used in a pair with era
, and a signed year
property (@sffc calls this "algebraic year") that's used without an era
to better mirror ISO behavior and therefore make it easier to write code that works across all ICU calendars.
year
is always relative to a per-calendar "anchor era". For almost all ICU calendars, the choice of anchor era is obvious because there's only one era that counts years forwards. (Backwards-counting eras like BC should never be the anchor.)
However, there are two ICU calendars with more than one forward-counting era: japanese
and ethiopic
. For japanese
where there are many eras (with more expected in the future), we're planning to use the ISO year for year
which sidesteps the anchor era question. See tc39/proposal-temporal#526 for more details.
But what about ethiopic
? There are two eras: one starting -005492-07-17
and another starting +000008-08-27
. The first era is identical to ethioaa
's only era, while the second era is unique to ethiopic
.
Which era should be the anchor?
Option 1: -005492-07-17
should be the anchor because otherwise ethiopic
's year
would be identical to ethioaa
's year
, and SHOULD NOT be the same because the user presumably chose ethiopic
not ethioaa
for a good reason?
Option 2: +000008-08-27
should be the anchor because ethiopic
's year
would be identical to ethioaa
's year
, and SHOULD be the same to maximize cross-calendar compatibility for developers servicing Ethiopian users?
I don't have enough context about how ethioaa
vs. ethiopic
is used to have an opinion about which option is better.
I assume that the answer depends on the cultural expectations of an ethiopic
calendar user. If a year
is shown with no era
, would that user expect it to be relative to the earlier era or the later one?