28.12.2023, 05:20
Ich habe da mal was heraus gesucht, ich hoffe es hilft dir weiter:
Code:
// Funktion zur Umrechnung von gregorianischem zu julianischem Datum
function gregorianToJulian(year, month, day) {
// Wenn es vor dem Wechsel zum gregorianischen Kalender im Jahr 1582 liegt
if (year < 1582 || (year === 1582 && (month < 10 || (month === 10 && day <= 4)))) {
return { year: year, month: month, day: day }; // Keine Umrechnung erforderlich
}
// Umrechnung des Datums gemäß der Formel für den Wechsel zum gregorianischen Kalender
let a = Math.floor((14 - month) / 12);
let y = year + 4800 - a;
let m = month + 12 * a - 3;
let JDN = day + Math.floor((153 * m + 2) / 5) + 365 * y + Math.floor(y / 4) - Math.floor(y / 100) + Math.floor(y / 400) - 32045;
// Berechnung des Datums im julianischen Kalender
let jYear = Math.floor((JDN - 1721425.5) / 365.25);
let jDay = JDN - Math.floor(jYear * 365.25) + 1721425.5;
return { year: jYear, day: jDay };
}
// Beispielaufruf
let gregorianDate = { year: 2023, month: 12, day: 24 };
let julianDate = gregorianToJulian(gregorianDate.year, gregorianDate.month, gregorianDate.day);
console.log(julianDate);
"Gerne dürft ihr mir eine gute Bewertung da lassen aber auch gegenüber Kritik bin ich offen"