Kalender - (time\calendar.class.php)

Kalender & Datum

static time\calendar::getEasterDate ([$numeric $year = null])
$year optional; das Kalenderjahr (Standard: aktuelles Jahr); default ist null
berechnet das Datum des Ostersonntags für ein bestimmtes Jahr nach dem PTB-Lichtenberg-Algorithmus der Physikalisch-Technischen Bundesanstalt und gibt dieses als new DateTime zurück; im Fehlerfall null
$easter = time\calendar::getEasterDate(2024);
echo $easter->format('Y-m-d'); // 2024-03-31
static time\calendar::leapYear ([$numeric $year = null])
$year optional; das Kalenderjahr (Standard: aktuelles Jahr); default ist null
prüft, ob ein Jahr ein Schaltjahr im gregorianischen Kalender ist (durch 4 teilbar, außer bei vollen Jahrhunderten, sofern nicht durch 400 teilbar); gibt true zurück wenn Schaltjahr, andernfalls false
time\calendar::leapYear(2024); // true
time\calendar::leapYear(2023); // false
static time\calendar::getDaysInMonth ($integer $month[, $numeric $year = null])
$month Monat als Zahl von 1 bis 12; Pflicht
$year optional; Kalenderjahr zur Ermittlung von Schaltjahren für den Monat Februar; default ist null
gibt die Anzahl der Tage in einem bestimmten Monat (28 bis 31) als integer zurück; bei ungültigem Monat 0
time\calendar::getDaysInMonth(2, 2024); // 29 (Schaltjahr)
time\calendar::getDaysInMonth(2, 2023); // 28
time\calendar::getDaysInMonth(8); // 31 (August)

Feiertage & Arbeitstage

static time\calendar::getHolidays ([$numeric $year = null[, $string $state = null]])
$year optional; Kalenderjahr (Standard: aktuelles Jahr); default ist null
$state optional; zweistelliges Bundesland-Kürzel (z. B. 'BY', 'NW', 'SN') oder 'ALL'; default ist null (nur bundesweite Feiertage)
berechnet alle gesetzlichen Feiertage (feste und von Ostern abhängige bewegliche Feiertage) für das angegebene Jahr und gibt ein assoziatives array im Format ['YYYY-MM-DD' => 'Feiertagsname'] chronologisch sortiert zurück
$bundesweit = time\calendar::getHolidays(2024);
$bayern = time\calendar::getHolidays(2024, 'BY');
static time\calendar::getWorkdays ([$numeric $year = null[, $string $state = null[, $mixed $workingDays = 5[, $integer $month = null]]]])
$year optional; Kalenderjahr; default ist null (aktuelles Jahr)
$state optional; Bundesland-Kürzel zur Berücksichtigung regionaler Feiertage; default ist null
$workingDays optional; Arbeitszeitmodell: 5 (Mo–Fr), 6 (Mo–Sa), 7 (Mo–So) oder ein Array erlaubter Wochentage (1 = Mo ... 7 = So); default ist 5
$month optional; Monat (1 bis 12) für monatliche Arbeitszeitberechnung; default ist null (gesamtes Jahr)
berechnet die Anzahl der echten Arbeitstage unter Abzug von Wochenenden (gemäß dem Arbeitszeitmodell) und gesetzlichen Feiertagen; gibt das Ergebnis als integer zurück
// Arbeitstage Mo-Fr für das Jahr 2024 in Bayern
time\calendar::getWorkdays(2024, 'BY');

// Arbeitstage im März 2024 für eine 6-Tage-Woche (Mo-Sa, z. B. Werkstatt)
time\calendar::getWorkdays(2024, 'BY', 6, 3);
static time\calendar::isHoliday ($mixed $date[, $string $state = null])
$date zu prüfendes Datum als String ('Y-m-d'), Unix-Timestamp oder DateTimeInterface; Pflicht
$state optional; Bundesland-Kürzel; default ist null
prüft, ob das angegebene Datum ein gesetzlicher Feiertag ist; gibt den Namen des Feiertags als string zurück, andernfalls false
time\calendar::isHoliday('2024-10-03'); // 'Tag der Deutschen Einheit'
time\calendar::isHoliday('2024-01-06', 'BY'); // 'Heilige Drei Könige'
time\calendar::isHoliday('2024-05-15'); // false
static time\calendar::isWorkday ($mixed $date[, $string $state = null])
$date zu prüfendes Datum als String ('Y-m-d'), Unix-Timestamp oder DateTimeInterface; Pflicht
$state optional; Bundesland-Kürzel; default ist null
prüft, ob ein Datum ein regulärer Arbeitstag ist (Montag bis Freitag und kein gesetzlicher Feiertag); gibt true zurück wenn Arbeitstag, andernfalls false
time\calendar::isWorkday('2024-10-03'); // false (Feiertag)
time\calendar::isWorkday('2024-10-04'); // true (Freitag, regulärer Arbeitstag)
time\calendar::isWorkday('2024-10-05'); // false (Samstag / Wochenende)