Start · Sprachen · PHP · Referenz · frenchtojd

frenchtojd

Funktion

Konvertiert ein Datum des Französischen Revolutionskalenders in eine julianische Tageszahl (Julian Day Number).

seit PHP 4.0.0 Kategorie: date

Signatur

frenchtojd(int $month, int $day, int $year): int

Beschreibung

frenchtojd() wandelt ein Datum aus dem Französischen Revolutionskalender (auch Calendrier républicain genannt) in die entsprechende julianische Tageszahl um. Der Französische Revolutionskalender wurde 1792 eingeführt und 1806 offiziell abgeschafft; er bestand aus 12 Monaten zu je 30 Tagen zuzüglich 5 bzw. 6 Schalttagen am Jahresende.

Die julianische Tageszahl (Julian Day Number, JDN) ist eine fortlaufende Ganzzahl, die sich von der Julianischen Periode ableitet und als gemeinsames Format zum Umrechnen zwischen verschiedenen Kalendersystemen dient. PHP stellt mehrere Funktionen bereit, um JDN-Werte in andere Kalender zu konvertieren (z. B. jdtogregorian(), jdtounix()).

Der gültige Wertebereich für den Französischen Revolutionskalender liegt bei Jahr 1 bis 14 (1792–1806). Werte außerhalb dieses Bereichs können zu unerwarteten Ergebnissen führen, da die Funktion keine strikte Bereichsprüfung vornimmt.

Diese Funktion ist Teil der Kalender-Extension (calendar), die bei den meisten PHP-Installationen standardmäßig kompiliert ist.

Parameter

Name Typ Default Beschreibung
$month Pflicht int Der Monat im Französischen Revolutionskalender. Gültige Werte sind 1 (Vendémiaire) bis 13 (Sansculottides/Jours complémentaires).
$day Pflicht int Der Tag im angegebenen Monat. Bei den Monaten 1–12 sind die Werte 130 gültig; im 13. Monat (Ergänzungstage) 16.
$year Pflicht int Das Jahr im Französischen Revolutionskalender. Das Jahr 1 entspricht dem gregorianischen Jahr 1792. Historisch gültig sind die Jahre 1–14.

Rückgabewert

Typ
int
Beschreibung
Gibt die julianische Tageszahl (Julian Day Number) zurück, die dem angegebenen Datum im Französischen Revolutionskalender entspricht. Bei ungültigen Eingaben kann der Rückgabewert 0 sein.

Beispiele

Einfache Umrechnung eines revolutionären Datums

<?php
// 1. Vendémiaire des Jahres 1 (Beginn des Französischen Revolutionskalenders)
// entspricht dem 22. September 1792 (gregorianisch)
$jd = frenchtojd(1, 1, 1);
echo "Julian Day Number: " . $jd . "\n";

// Umwandlung zurück in das gregorianische Datum
echo "Gregorianisches Datum: " . jdtogregorian($jd) . "\n";
Julian Day Number: 2375840 Gregorianisches Datum: 9/22/1792

Vergleich zweier Revolutionskalender-Daten über JDN

<?php
// Zwei Daten vergleichen: Abstand in Tagen berechnen
$datum1 = frenchtojd(1, 1, 1);   // 1. Vendémiaire, Jahr 1
$datum2 = frenchtojd(1, 1, 14);  // 1. Vendémiaire, Jahr 14

$differenz = $datum2 - $datum1;
echo "Differenz in Tagen zwischen Jahr 1 und Jahr 14: " . $differenz . "\n";
echo "Erster Tag Jahr 14 (gregorianisch): " . jdtogregorian($datum2) . "\n";
Differenz in Tagen zwischen Jahr 1 und Jahr 14: 4748 Erster Tag Jahr 14 (gregorianisch): 9/23/1805

// Wichtig · Fallstricke

Gültigkeitsbereich: Der Französische Revolutionskalender war nur von 1792 bis 1806 in Verwendung (Jahr 1–14). Eingaben außerhalb dieses Bereichs werden von der Funktion zwar verarbeitet, liefern aber historisch sinnlose Ergebnisse, da der Kalender nicht außerhalb dieses Zeitraums existierte.

Abhängigkeit: Die Funktion setzt voraus, dass die PHP-calendar-Extension geladen ist. Auf den meisten Systemen ist sie standardmäßig aktiv; unter benutzerdefinierten Kompilierungen kann sie fehlen. In diesem Fall muss sie explizit aktiviert werden (--enable-calendar).

Schaltjahre: Im Französischen Revolutionskalender werden Schaltjahre nach einer eigenen Regel berechnet; frenchtojd() berücksichtigt dies entsprechend, sodass Jahr 3, 7 und 11 Schaltjahre (mit 366 Tagen) sind.