Skip to content

Which era should be the year anchor for the ethiopic calendar? #534

Open
@justingrant

Description

@justingrant

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?

@sffc @Manishearth

Metadata

Metadata

Assignees

No one assigned

    Labels

    TemporalIssues relating to Intl support in Temporal

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions