Benutzer-Werkzeuge

Webseiten-Werkzeuge


php:buss_und_bettag

Buß- und Bettag

Der Buß- und Bettag ist nur im Bundesland Sachsen ein gesetzlicher Feiertag und der einzige bewegliche Feiertag, der nicht vom Ostersonntag abhängig ist. Er ist immer genau 11 Tage vor dem 1. Advent. Da der 4. Advent immer der letzte Sonntag vor dem 1. Weihnachtstag ist, ist der 1. Advent um Umkehrschluss immer der 1. Sonntag nach dem 26.11. Dieses können wir uns zunutze machen um das Datum vom Buß- und Bettag zu berechnen.

Dieses Beispiel ergänzt die PHP-Klasse "calendar" um die beiden zusätzlichen Feiertage im Bundesland Sachsen:

sachsen.php
class sachsen extends calendar
{
    public function __construct( $year )
    {
        parent::__construct( $year );
        $this->holidays[] = '31.10.'; // Reformationstag
        $this->holidays[] = $this->getBussUndBettag(); // Buß- und Bettag
    }
 
    /**
     * @return false|string
     */
    function getBussUndBettag()
    {
        $timestamp = strtotime( '26.11.' . $this->year );
 
        do
        {
            $timestamp = strtotime( '+ 1 day', $timestamp );
        } while( date( 'w', $timestamp ) != 0 );
 
        $timestamp = strtotime( '-11 day', $timestamp );
        return date( 'd.m.', $timestamp );
    }
}

Beim Aufruf ist entsprechend die hier definierte PHP-Klasse „Sachsen“ die PHP-Klasse „calendar“ zu ersetzen.

php/buss_und_bettag.txt · Zuletzt geändert: 2018/10/07 20:52 (Externe Bearbeitung)