Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
| Both sides previous revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
|
php:holiday [2018/10/06 21:57] webproducer [Bewegliche Feiertage] Fronleichnam ergänzt |
php:holiday [2018/10/07 20:58] (aktuell) |
||
|---|---|---|---|
| Zeile 13: | Zeile 13: | ||
| ===== Bewegliche Feiertage ===== | ===== Bewegliche Feiertage ===== | ||
| - | Alle beweglichen Feiertage können auf Grundlage des Ostersonntags berechnet werden. | + | Alle beweglichen Feiertage, mit Ausnahme vom [[buss_und_bettag|Buß- und Bettag]], können auf Grundlage des Ostersonntags berechnet werden. |
| Für Ostersonntag gilt: | Für Ostersonntag gilt: | ||
| Zeile 29: | Zeile 29: | ||
| | Pfingstmontag | Ostersonntag + 50 Tage | alle | | | Pfingstmontag | Ostersonntag + 50 Tage | alle | | ||
| | Fronleichnam | Ostersonntag + 60 Tage | nur SL, RP, NW, BY, BW und TH | | | Fronleichnam | Ostersonntag + 60 Tage | nur SL, RP, NW, BY, BW und TH | | ||
| + | | [[buss_und_bettag|Buß- und Bettag]] | 11 Tage vor dem 1. Advent | nur Sachsen | | ||
| ---- | ---- | ||
| Zeile 41: | Zeile 42: | ||
| ===== Codebeispiel ===== | ===== Codebeispiel ===== | ||
| + | |||
| + | In diesem Codebeispiel werden ausschließlich bundesweite Feiertage berücksichtigt. Bei Bedarf können, je nach Bundesland, die entsprechenden Feiertage ergänzt werden. | ||
| <code php class.calendar.php> | <code php class.calendar.php> | ||
| class calendar | class calendar | ||
| { | { | ||
| - | private $holidays = array(); | + | protected $holidays = array(); |
| + | protected $year = 0; | ||
| /** | /** | ||
| Zeile 53: | Zeile 57: | ||
| public function __construct( $year = 0 ) | public function __construct( $year = 0 ) | ||
| { | { | ||
| - | $year = ( $year == 0 ) ? date( 'Y' ) : $year; | + | $this->year = ( $year == 0 ) ? date( 'Y' ) : $year; |
| // feste Feiertage definieren | // feste Feiertage definieren | ||
| Zeile 63: | Zeile 67: | ||
| // alle beweglichen Feiertage von Karfreitag bis Pfinstmontag | // alle beweglichen Feiertage von Karfreitag bis Pfinstmontag | ||
| - | $easterSunday = date( 'd.M.Y', easter_date( $year ) ); | + | $easterSunday = date( 'd.M.Y', easter_date( $this->year ) ); |
| - | foreach( array( -2, 0, 1, 39, 49, 50 ) as $day ) | + | foreach( array( -2, 1, 39, 49, 50 ) as $day ) |
| { | { | ||
| $time = array( $easterSunday, $day, 'day'); | $time = array( $easterSunday, $day, 'day'); | ||