Wie zeige ich v. Chr./n. Chr. oder andere Zeitrechnungsindikatoren an?

Verwenden Sie die Option era in Intl.DateTimeFormat, um nach Christus, vor Christus und Zeitrechnungsnamen aus anderen Kalendersystemen anzuzeigen

Einführung

Die meisten Daten, mit denen Sie arbeiten, fallen in die aktuelle Ära des gregorianischen Kalenders, was Zeitrechnungsangaben überflüssig macht. Ein Datum wie "15. Oktober 2024" ist auch ohne den Zusatz "n. Chr." am Ende eindeutig. Historische Daten von vor mehr als zweitausend Jahren benötigen jedoch Zeitrechnungsangaben, um zu verdeutlichen, ob das Jahr vor oder nach dem Jahr 1 liegt.

Verschiedene Kulturen verwenden auch unterschiedliche Kalendersysteme mit eigenen Zeitrechnungen. Der japanische Kalender unterteilt die Zeit in benannte kaiserliche Ären wie Reiwa und Heisei. Der buddhistische Kalender zählt die Jahre ab dem Tod Buddhas. Der islamische Kalender hat seine eigene Zeitrechnung, die mit der Hidschra beginnt.

JavaScripts Intl.DateTimeFormat bietet eine era-Option, die diese Angaben anzeigt. Die Option funktioniert sowohl mit dem gregorianischen Kalender als auch mit anderen Kalendersystemen und formatiert die Zeitrechnung automatisch gemäß den lokalen Konventionen.

Verständnis von Zeitrechnungen in Kalendersystemen

Eine Zeitrechnung repräsentiert einen Zeitraum, der von einem bedeutenden Ereignis oder Anfangspunkt an gezählt wird. Der gregorianische Kalender verwendet zwei Zeitrechnungen: n. Chr. (nach Christus) für Daten nach dem Jahr 1 und v. Chr. (vor Christus) für Daten vor dem Jahr 1.

Die Zeitrechnung wird wichtig, wenn historische Daten angezeigt werden. Das Jahr 500 könnte sich auf 500 n. Chr. oder 500 v. Chr. beziehen, zwei Daten, die tausend Jahre auseinanderliegen. Die Hinzufügung der Zeitrechnungsangabe beseitigt diese Mehrdeutigkeit.

Andere Kalendersysteme definieren Zeitrechnungen unterschiedlich. Der japanische Kalender ändert die Zeitrechnung mit jeder Regierungszeit eines Kaisers. Der buddhistische Kalender verwendet eine einzige Zeitrechnung, die 543 v. Chr. beginnt. Jedes Kalendersystem hat seine eigenen Konventionen für die Anzeige von Zeitrechnungsnamen.

Anzeige von Ära-Indikatoren in gregorianischen Datumsangaben

Die Option era akzeptiert drei Werte, die steuern, wie die Ära angezeigt wird. Der Wert long zeigt den vollständigen Namen der Ära an. Der Wert short zeigt eine abgekürzte Form. Der Wert narrow zeigt die kompakteste Darstellung.

const date = new Date('2024-10-15');

const long = new Intl.DateTimeFormat('en-US', {
  year: 'numeric',
  month: 'long',
  day: 'numeric',
  era: 'long'
});
console.log(long.format(date)); // "October 15, 2024 Anno Domini"

const short = new Intl.DateTimeFormat('en-US', {
  year: 'numeric',
  month: 'long',
  day: 'numeric',
  era: 'short'
});
console.log(short.format(date)); // "October 15, 2024 AD"

const narrow = new Intl.DateTimeFormat('en-US', {
  year: 'numeric',
  month: 'long',
  day: 'numeric',
  era: 'narrow'
});
console.log(narrow.format(date)); // "October 15, 2024 A"

Der Wert long erzeugt "Anno Domini" für AD-Datumsangaben. Der Wert short erzeugt "AD". Der Wert narrow erzeugt nur "A".

Für moderne Datumsangaben ist der Ära-Indikator redundant, da Datumsangaben in der aktuellen Ära standardmäßig angenommen werden. Typischerweise fügt man den Ära-Indikator nur bei der Anzeige historischer Datumsangaben hinzu, bei denen die Unterscheidung wichtig ist.

Formatierung von v. Chr. Datumsangaben mit Ära-Indikatoren

JavaScript stellt v. Chr. Datumsangaben mit negativen Jahreszahlen oder durch Übergabe negativer Werte an den Date-Konstruktor dar. Jahr -500 repräsentiert 501 v. Chr., Jahr -1 repräsentiert 2 v. Chr. und Jahr 0 repräsentiert 1 v. Chr.

const bcDate = new Date(-500, 0, 1); // January 1, 501 BC

const long = new Intl.DateTimeFormat('en-US', {
  year: 'numeric',
  month: 'long',
  day: 'numeric',
  era: 'long'
});
console.log(long.format(bcDate)); // "January 1, 501 Before Christ"

const short = new Intl.DateTimeFormat('en-US', {
  year: 'numeric',
  month: 'long',
  day: 'numeric',
  era: 'short'
});
console.log(short.format(bcDate)); // "January 1, 501 BC"

Der Wert long erzeugt "Before Christ" für v. Chr. Datumsangaben. Der Wert short erzeugt "BC". Das Jahr wird als positive Zahl angezeigt, wobei der Ära-Indikator angibt, ob es vor oder nach dem Jahr 1 liegt.

V. Chr. Datumsangaben erfordern eine sorgfältige Handhabung, da das JavaScript Date-Objekt Einschränkungen bei der Arbeit mit weit zurückliegenden Datumsangaben hat. Historische Datumsangaben vor der Standardisierung des gregorianischen Kalenders im Jahr 1582 sind Näherungswerte, und Datumsangaben vor dem Jahr 1 verwenden ein Kalendersystem, das zu dieser Zeit nicht existierte.

Ären im japanischen Kalender anzeigen

Der japanische Kalender verwendet benannte Ären, die sich mit jeder Regierungszeit eines Kaisers ändern. Die aktuelle Ära ist Reiwa, die 2019 begann. Die vorherige Ära war Heisei, die von 1989 bis 2019 dauerte.

Sie spezifizieren den japanischen Kalender mit der Unicode-Erweiterung -u-ca-japanese in der Locale-Kennung.

const date = new Date('2024-10-15');

const long = new Intl.DateTimeFormat('ja-JP-u-ca-japanese', {
  year: 'numeric',
  month: 'long',
  day: 'numeric',
  era: 'long'
});
console.log(long.format(date)); // "令和6年10月15日"

const short = new Intl.DateTimeFormat('ja-JP-u-ca-japanese', {
  year: 'numeric',
  month: 'long',
  day: 'numeric',
  era: 'short'
});
console.log(short.format(date)); // "令和6年10月15日"

const narrow = new Intl.DateTimeFormat('ja-JP-u-ca-japanese', {
  year: 'numeric',
  month: 'long',
  day: 'numeric',
  era: 'narrow'
});
console.log(narrow.format(date)); // "R6年10月15日"

Die Werte long und short zeigen beide "令和" (Reiwa) gefolgt vom Jahr innerhalb dieser Ära an. Das Jahr 2024 ist das Jahr 6 der Reiwa-Ära. Der Wert narrow zeigt "R" als kompakte Abkürzung an.

Das angezeigte Jahr ist nicht das gregorianische Jahr, sondern das Jahr innerhalb der aktuellen kaiserlichen Ära. Jede Ära beginnt wieder mit der Zählung ab 1.

Ären im buddhistischen Kalender anzeigen

Der buddhistische Kalender zählt Jahre ab dem Tod Buddhas im Jahr 543 v. Chr. Das buddhistische Jahr 2567 entspricht dem gregorianischen Jahr 2024.

Sie spezifizieren den buddhistischen Kalender mit der Unicode-Erweiterung -u-ca-buddhist in der Locale-Kennung.

const date = new Date('2024-10-15');

const long = new Intl.DateTimeFormat('th-TH-u-ca-buddhist', {
  year: 'numeric',
  month: 'long',
  day: 'numeric',
  era: 'long'
});
console.log(long.format(date)); // "15 ตุลาคม พุทธศักราช 2567"

const short = new Intl.DateTimeFormat('th-TH-u-ca-buddhist', {
  year: 'numeric',
  month: 'long',
  day: 'numeric',
  era: 'short'
});
console.log(short.format(date)); // "15 ตุลาคม พ.ศ. 2567"

Der Wert long zeigt "พุทธศักราช" (Buddhistische Ära) als vollständigen Ära-Namen an. Der Wert short zeigt "พ.ศ." als abgekürzte Form an. Das Jahr 2567 repräsentiert das buddhistische Kalenderjahr, das dem Jahr 2024 im gregorianischen Kalender entspricht.

Der buddhistische Kalender wird häufig in Thailand, Kambodscha, Laos, Myanmar und Sri Lanka verwendet.

Wie sich die Ära-Formatierung in verschiedenen Gebietsschemas unterscheidet

Verschiedene Gebietsschemas verwenden unterschiedliche Begriffe und Abkürzungen für dieselbe Ära. Die Ären des gregorianischen Kalenders erscheinen in der für jedes Gebietsschema angemessenen Sprache und Stil.

const date = new Date('2024-10-15');
const options = {
  year: 'numeric',
  month: 'long',
  day: 'numeric',
  era: 'short'
};

const en = new Intl.DateTimeFormat('en-US', options);
console.log(en.format(date)); // "October 15, 2024 AD"

const fr = new Intl.DateTimeFormat('fr-FR', options);
console.log(fr.format(date)); // "15 octobre 2024 ap. J.-C."

const de = new Intl.DateTimeFormat('de-DE', options);
console.log(de.format(date)); // "15. Oktober 2024 n. Chr."

Englisch verwendet "AD" (Anno Domini). Französisch verwendet "ap. J.-C." (après Jésus-Christ, bedeutet "nach Jesus Christus"). Deutsch verwendet "n. Chr." (nach Christus).

Die Positionierung des Ära-Indikators folgt ebenfalls den Konventionen des Gebietsschemas. Englisch platziert ihn typischerweise nach dem Jahr, während andere Gebietsschemas ihn möglicherweise anders positionieren.

const bcDate = new Date(-500, 0, 1);
const options = {
  year: 'numeric',
  month: 'long',
  day: 'numeric',
  era: 'short'
};

const en = new Intl.DateTimeFormat('en-US', options);
console.log(en.format(bcDate)); // "January 1, 501 BC"

const fr = new Intl.DateTimeFormat('fr-FR', options);
console.log(fr.format(bcDate)); // "1 janvier 501 av. J.-C."

const de = new Intl.DateTimeFormat('de-DE', options);
console.log(de.format(bcDate)); // "1. Januar 501 v. Chr."

Französisch verwendet "av. J.-C." (avant Jésus-Christ, bedeutet "vor Jesus Christus") für Daten v. Chr. Deutsch verwendet "v. Chr." (vor Christus).

Häufige Anwendungsfälle

Die Anzeige historischer Daten erfordert Ära-Indikatoren, um Verwechslungen zu vermeiden.

const battleOfMarathon = new Date(-490, 8, 12); // September 12, 490 BC

const formatter = new Intl.DateTimeFormat('en-US', {
  year: 'numeric',
  month: 'long',
  day: 'numeric',
  era: 'short'
});

console.log(`Battle of Marathon: ${formatter.format(battleOfMarathon)}`);
// "Battle of Marathon: September 12, 490 BC"

Die Anzeige von Daten in kulturellen Kontexten, die unterschiedliche Kalendersysteme verwenden, erfordert eine angemessene Kalender- und Ära-Formatierung.

const date = new Date('2024-10-15');

const japaneseFormatter = new Intl.DateTimeFormat('ja-JP-u-ca-japanese', {
  year: 'numeric',
  month: 'long',
  day: 'numeric',
  era: 'long'
});

console.log(`Japanese date: ${japaneseFormatter.format(date)}`);
// "Japanese date: 令和6年10月15日"

Akademische oder historische Texte zeigen oft sowohl v. Chr. als auch n. Chr. explizit an, um die Konsistenz über Zeiträume hinweg zu gewährleisten.

const dates = [
  new Date(-2500, 0, 1), // 2501 BC
  new Date(-500, 0, 1),  // 501 BC
  new Date(500, 0, 1),   // 500 AD
  new Date(1500, 0, 1)   // 1500 AD
];

const formatter = new Intl.DateTimeFormat('en-US', {
  year: 'numeric',
  era: 'short'
});

dates.forEach(date => {
  console.log(formatter.format(date));
});
// "2501 BC"
// "501 BC"
// "500 AD"
// "1500 AD"

Zusammenfassung

Die Option era in Intl.DateTimeFormat zeigt Zeitrechnungsindikatoren wie n. Chr., v. Chr. oder Zeitrechnungsnamen aus anderen Kalendersystemen an. Die Option akzeptiert drei Werte: long für vollständige Zeitrechnungsnamen wie "nach Christus", short für Abkürzungen wie "n. Chr." und narrow für die kompakteste Form wie "n".

Daten v. Chr. erfordern negative Jahreszahlen im JavaScript Date-Konstruktor. Die formatierte Ausgabe zeigt das Jahr als positive Zahl an, wobei der Zeitrechnungsindikator angibt, ob es vor oder nach dem Jahr 1 liegt.

Andere Kalendersysteme haben ihre eigenen Zeitrechnungen. Der japanische Kalender verwendet benannte kaiserliche Ären wie Reiwa. Der buddhistische Kalender verwendet eine einzige Zeitrechnung, die 543 v. Chr. beginnt. Das Kalendersystem wird über Unicode-Erweiterungen in der Gebietsschema-Kennung angegeben.

Verschiedene Gebietsschemas verwenden unterschiedliche Begriffe für dieselbe Zeitrechnung. Englisch verwendet "AD" und "BC", Französisch verwendet "ap. J.-C." und "av. J.-C." und Deutsch verwendet "n. Chr." und "v. Chr.". Der Formatierer wendet automatisch die entsprechenden Begriffe und Positionierungen für jedes Gebietsschema an.