Signatur
Beschreibung
Die Funktion gregoriantojd() konvertiert ein gregorianisches Datum (bestehend aus Monat, Tag und Jahr) in die entsprechende Julianische Tageszahl (JDN – Julian Day Number). Die Julianische Tageszahl ist eine fortlaufende Ganzzahl, die die Anzahl der Tage seit dem 1. Januar 4713 v. Chr. (Julianischer Kalender, 12-Uhr-Mittag) zählt und in der Astronomie sowie Datumsarithmetik weit verbreitet ist.
Der gültige Bereich für gregorianische Umrechnungen liegt zwischen dem 25. November 4714 v. Chr. und dem 31. Dezember 9999 n. Chr. Für Jahre vor Christus sind negative Jahreszahlen zu verwenden, wobei das Jahr 0 dem Jahr 1 v. Chr. entspricht.
Die Julianische Tageszahl eignet sich hervorragend für Datumsberechnungen wie das Ermitteln der Differenz zwischen zwei Daten oder das Konvertieren zwischen verschiedenen Kalendertypen (z. B. Gregorianisch, Julianisch, Hebräisch) mithilfe der PHP-Kalenderextension.
Die Funktion gehört zur PHP-Kalender-Erweiterung (calendar) und ist auf den meisten Installationen standardmäßig verfügbar. Die Gegenfunktion jdtogregorian() ermöglicht die Rückkonvertierung.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $month Pflicht | int | Der Monat des gregorianischen Datums als Zahl von 1 (Januar) bis 12 (Dezember). |
|
| $day Pflicht | int | Der Tag des gregorianischen Datums als Zahl von 1 bis 31. |
|
| $year Pflicht | int | Das Jahr des gregorianischen Datums. Negative Werte stehen für Jahre vor Christus (z. B. -1 für 2 v. Chr., 0 für 1 v. Chr.). |
Rückgabewert
0) wird 0 zurückgegeben.Beispiele
Heutiges Datum in Julianische Tageszahl umwandeln
<?php
// Heutiges Datum in Julianische Tageszahl konvertieren
$today = getdate();
$jd = gregoriantojd($today['mon'], $today['mday'], $today['year']);
echo "Gregorianisches Datum: {$today['mon']}/{$today['mday']}/{$today['year']}\n";
echo "Julianische Tageszahl: $jd\n";
Differenz zwischen zwei Daten berechnen
<?php
// Anzahl der Tage zwischen zwei gregorianischen Daten berechnen
$jd1 = gregoriantojd(1, 1, 2024); // 1. Januar 2024
$jd2 = gregoriantojd(12, 31, 2024); // 31. Dezember 2024
$differenz = $jd2 - $jd1;
echo "Tage zwischen 01.01.2024 und 31.12.2024: $differenz\n"; // 365
Umrechnung in den Jüdischen Kalender
<?php
// Gregorianisches Datum in den Jüdischen Kalender konvertieren
$jd = gregoriantojd(10, 3, 2024);
$hebraeisch = jdtojewish($jd);
echo "Gregorianisch: 03.10.2024\n";
echo "Jüdisch (m/d/j): $hebraeisch\n";
// Wichtig · Fallstricke
Bereichsgrenzen: Gültige Eingaben liegen zwischen dem 25. November 4714 v. Chr. und dem 31. Dezember 9999 n. Chr. Werte außerhalb dieses Bereichs liefern unvorhersehbare Ergebnisse.
Jahr 0: PHP verwendet das astronomische Jahreszählsystem, in dem das Jahr 0 dem historischen Jahr 1 v. Chr. entspricht. Das Jahr -1 entspricht 2 v. Chr. usw.
Erweiterungsabhängigkeit: Die Funktion erfordert die PHP-Erweiterung calendar. Auf Systemen ohne diese Erweiterung steht sie nicht zur Verfügung. Alternativ kann DateTime für Datumsberechnungen verwendet werden.