Signatur
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 1–30 gültig; im 13. Monat (Ergänzungstage) 1–6. |
|
| $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
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";
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";
// 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.