Deprecate Japanese era data before Meiji

Description

supplementalData.xml contains Japanese era data. There are some critical issues in this data.

  • Start date uses Western calendar year (Julian or Gregorian) with Japanese luna calendar month/date. For example, Taika (index 0) started on 645-07-17 in Julian calendar, but the date is June 19th in Japanese lunar calendar used at that time. All eras before Taisho have this problem.

  • Start date of era 165 (Genchu) is 1384-4-28, but era 166 (Shitoku) is 1384-2-27, that is before era 165. This breaks an assumption that eras indexes are in the order of start date.

  • Between 1336 and 1392, there existed Northern Imperial Court and Southern Imperial Court. They used different era names. In modern era, Southern Court is considered as legitimate court. However, the problematic era - 163 (Koryaku) and 166 (Shitoku) are used by Northern Court. We should only use eras from Soutern Court, and exclude these problematic ones.

The second and third problems can be resolved by simply removing these eras (163 and 166), but all locale name data after 163 must be shifted if we expect era IDs are continuous numbers.

I propose to deprecated eras before Meiji. We still need to find out what date should be used for the start date of Meiji. If we deprecate eras before Meiji, then the remaining issue should be gone.

Activity

Show:

Markus Scherer 
3 days ago

I like option 1: Allow an overlap, and the earlier era wins.

Mark Davis 
4 days ago
(edited)

We would need some mechanism to signal that Gregorian spans through the first 5 years of meiji, but that the first year of meiji starts with “6”, not “1”.

I can think of two options.

  1. We add end dates for all the japanese eras except for the last (all other calendars follow that pattern). The end date for AD would be 5 years into meiji. We document that if there are ever eras with overlapping time spans, that the first era is used up to its end date, and the second era is used thereafter — except that its years are numbered from its start date.

  2. We reset the start date for meiji by adding 5, and add a special attribute for meiji (yearAdd='5'??) that indicates that the year numbering adds a value of 5 (eg 1 → 5)

    1. We should add end dates anyway for consistency across calendars, but they would not overlap.

We would then deprecate @inheritEras

Note that in any event we would need to document invariants and non-invariants.

  • The numeric era types

    • don’t necessary start at 0

    • may be discontiguous

    • are not ordered by state intervals (eg era 10 might start and end after era 11 starts and ends)

  • In terms of date intervals, each calendar is extended proleptically to cover all time:

    • the first era (in terms of start/end dates) has no start date (eg -∞), and the last has no end date (eg ∞)

    • there are no gaps between eras

    • And depending on the option we choose

      • There is never any overlap

      • There can be an overlap, and it is defined as above.

Markus Scherer 
4 days ago
(edited)

ICU-TC welcomes removing eras 0..231. We suggest adding the Gregorian eras 0 and 1 instead, and dropping “inheritEras”. We should use Gregorian AD=CE before Meiji year 6. See

For each locale with Japanese-calendar era names, remove the names for Japanese era 0..231 and copy in the Gregorian BC/BCE/AD/CE names.

Robert Bastian 
May 7, 2025 at 4:52 PM

Accepted in TC 2025-05-07:

  • Add to release notes in 48

  • Remove in future release

Robert Bastian 
April 15, 2025 at 6:24 PM

Recommend to TC to put into release notes migration section for feedback on future removal

Details

Components

Labels

Priority

Fix versions

Phase

pre-sub

Assignee

Reporter

Created January 11, 2019 at 5:17 AM
Updated 3 days ago