Skip to content

Gregorian/Julian change dates and era codes #5

@Louis-Aime

Description

@Louis-Aime

Let me first make a historical reminder. The Gregorian reform by Gregorius XIII changed the calendar from October 1582. It did not change any date before that. Therefore the Gregorian calendar follows the Julian calendar's rule up to October 4th, 1582 (1582-10-14), and then follows the rule established by Gregorius.

However, in all European countries except Italy, Spain and Portugal, the date of switchover to Gregorian was later than 1582-10-15. In France, it was on 1582-12-20, in United Kingdom on 1752-09-14. There are around 60 different dates of switchover to the Gregorian calendar.

When giving a date for any event before 1582, the general public implicitly uses the Julian calendar, and more precisely the origin of the years defined by Dionysius Exiguus in the 6th century. The years before that year 1 are counted backwards starting from 1, and are "tagged'" B.C. or B.C.E. in English, meaning "before Christus" or "before common era", or in a similar way in other European languages.

All Unicode calendars derived from the Gregorian calendars use the Julian calendar until October 4th, 1582. You may check for buddhist, japanese and roc and see how they display 0001-01-01, or 1582-10-14.

Many years after the Gregorian reform, astronomers introduced the "year 0" (Jacques Cassini in 1740) to facilitate computations. They still used the Julian calendar for events before 1582.

The "proleptic Gregorian calendar" was introduced very recently in the context of "computerisation", in order to facilitate computation of dates. In all cases I know, including in Javascript, the user specifies any year using algebraic numbers, i.e. with a zero year and negative numbers. I have an interesting source for this in the documentation of Python (Python general calendar-related functions):

The functions and classes defined in this module use an idealized calendar, the current Gregorian calendar extended indefinitely in both directions. This matches the definition of the “proleptic Gregorian” calendar in Dershowitz and Reingold’s book “Calendrical Calculations”, where it’s the base calendar for all computations. Zero and negative years are interpreted as prescribed by the ISO 8601 standard. Year 0 is 1 BC, year -1 is 2 BC, and so on.

I have found no case where the proleptic Gregorian calendar is used (not just defined) with eras and years counted backwards. On the contrary, the ISO 8601 made it clear that the proleptic Gregorian calendar could be used for interchange, but in this case the year should be an algebraic number, so that no era indication is necessary.

As I can see from the conversation of Issue #1, there are discussion about what the era codes for the gregory calendar should be. IMHO, very simple: as it is a proleptic Gregorian calendar, no code at all, since it has a single era. And so are the buddhist and roc calendars. As for japanese, there is no era with backward-counted years.

The real expectation is cited here : #1 (comment) :

N.b. in ICU4X gregory is proleptic gregorian, though we are considering having a calendar with a configurable switchover date (cc @sffc).

Today's gregory calendar does not meet the expectations of researchers in history of Europe.

This configurable calendar is highly expected in order to cover the needs for historical applications. IMHO, it should have 3 eras, with the following codes:

  • bc (or bce - although I do not understand why one should avoid citing Christus... after all, no one is shocked with the allusion to Buddha in the Buddhist era of the Buddhist calendar);
  • os or as (Old Style, or Ancient Style, meaning that the Julian reckoning system is used even after 1582);
  • ns (New Style, conforming to ISO8601).

I already designed a mock-up for this configurable calendar. It needs another one: the pure Julian calendar, which has no official use anymore, except in communities. I believe it would be highly appreciated.

Metadata

Metadata

Assignees

No one assigned

    Labels

    v2Material for Temporal V2

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions