PHP - Öffnungszeiten

Guten Tag Besucher, heute am Sonntag, ist unser Büro geschlossen.

Mögliche Ausgaben (Beispiele)

Guten Morgen Besucher, heute am Samstag, ist unser Büro geschlossen.

Guten Tag Besucher, heute am Sonntag, ist unser Büro geschlossen.

Guten Tag Besucher, Unser Büro ist heute, am Montag den 15 Februar von 09.00 bis 17:00 Uhr geöffnet

Guten Abend Besucher, unser Büro hat heute, am Montag den 15 Februar schon geschlossen.

Guten Morgen Besucher zur frühen Stunde, Heute, am 1. Weihnachtstag, ist unser Büro geschlossen.


<?php

/*
 *  Öffnungszeiten
*/

date_default_timezone_set('Europe/Berlin');
  
function 
oeffnungszeiten() {

 
// Wochentage ( Montag = 1, Dienstag = 2, ... Samstag = 6, Sonntag = 7 )
 
$close = array(7); // an dieser Einstellung muss nichts mehr geändert werden

 
$tage = ["Sonntag""Montag""Dienstag""Mittwoch""Donnerstag""Freitag""Samstag"]; // Wochentage haben Namen...
 
$monate = [1=>"Januar""Februar""März""April""Mai""Juni""Juli""August""September""Oktober""November""Dezember"];
 
$tag date("w"); // Nummer des aktuellen Tages: 0 für Sonntag, 6  für Samstag

 // Offen ab - Uhrzeit der "normalen" Öffnung
 
$time_start '09:00';

 
// Offen bis - Uhrzeit der "normalen" Schliessung
 
$time_stop '17:00';

 
// Falls die Zeiten an einem Tag anders sind - zum Beispiel:
/*
  // Montag
  if (date('N') == "1") {
    $time_start = '09:30';    // Öffnungszeit am Montag  09.30
  // $time_stop = '15:00';    // Schliesszeit am Montag  15.00
  }
*/

 //Freitag
 
if (date('N') == "5") {
// $time_start = '09:30';    // andere Öffnungszeit am Freitag
  
$time_stop '15:00';    // andere Schliesszeit am Freitag 15.00
 
}

// Am Samstag ist geschlossen
 
if (date('N') == "6") {
// $time_start = '09:00';    // andere Öffnungszeit am Samstag
  
$time_stop $time_start;   // Schliesszeit gleich der Öffnungszeit - Samstag geschlossen
 
}


// Funktion Anrede, je nach Uhrzeit des Tages
$uhrzeit date('H.i'); 
 if (
$uhrzeit >= "03.30" && $uhrzeit "05.00") {
  
$gruss 'Guten Morgen Besucher zur frühen Stunde, ';
}
elseif (
$uhrzeit >= "05.00" && $uhrzeit "12.00") {
 
$gruss 'Guten Morgen Besucher, ';
}
elseif (
$uhrzeit >= "12.00" && $uhrzeit "18.00") {
 
$gruss 'Guten Tag Besucher, ';
}
elseif (
$uhrzeit >= "18.00" && $uhrzeit "23.59") {
 
$gruss 'Guten Abend Besucher, ';
}
else {
$gruss 'Guten Abend Besucher zur späten Stunde, ';
}

// Funktion "vor" der Öffnung oder "nach" der Schliessung
if ($uhrzeit >= "00.00" &&
    
$uhrzeit "09.00") {
 
$gruss2 'noch';
}
elseif (
$uhrzeit >= $time_stop &&
          
$uhrzeit "00.00") {
 
$gruss2 'schon';

else {
 
$gruss2 'schon';
}

// Feste und bewegliche Feiertage
$holiday =  [ 
 
'01.01',             // Neues Jahr
//        $heute = date("d.m"), // heutiges Datum - zum testen!
 
$Rosenmontag date("d.m",easter_date()-48*86400), // Rosenmontag,  48 Tage vor Ostern
 
$Karfreitag date("d.m",easter_date()-2*86400), // Karfreitag, 2 Tage vor Ostern
 
$Ostermontag date("d.m",easter_date()+86400), // Ostermontag
 
'01.05',             // Erster Mai
 
$ChristiHimmelfahrt date("d.m",easter_date()+39*86400),
 
$Pfingstmontag date("d.m",easter_date()+50*86400),
 
$Fronleichnam date("d.m",easter_date()+60*86400),
 
'03.10'// Tag der deutschen Einheit
 
'01.11',  // Allerheiligen
 
'24.12'// Heiliger Abend
 
'25.12'// 1 Weihnachtstag
 
'26.12'// 2 Weihnachtstag
 
'31.12'// Silvester
];

$feiertag ="keiner";


  
// Prüfen ob geöffnet ist (Wochentag, Uhrzeit und Feiertag)
  
if (date('N') != in_array(date('N'), $close) &&
      
date('H:i') >= $time_start &&
      
date('H:i') <= $time_stop &&
      
date('d.m') != in_array(date('d.m'), $holiday)) {
    
$offen $gruss ' Unser Büro ist heute, am ' $tage[$tag] . '  den ' date(" d") . ' ' $monate[date("n")] . ' von ' $time_start ' bis ' $time_stop ' geöffnet';
   }
   else {
     if (
date('d.m') == in_array(date('d.m'), $holiday)) {
      if (
date("d.m") == "01.01"$feiertag 'Neujahr';
//    if (date("d.m") == "$heute")  $feiertag = 'Aktuelles Datum'; // heutiges Datum - zum testen!
      
if (date("d.m") == "$Rosenmontag"$feiertag 'Rosenmontag';
      if (
date("d.m") == "$Karfreitag"$feiertag 'Karfreitag';
      if (
date("d.m") == "$Ostermontag"$feiertag 'Ostemontag';
      if (
date("d.m") == "01.05"$feiertag 'Tag der Arbeit';
      if (
date("d.m") == "$ChristiHimmelfahrt"$feiertag 'Christi Himmelfahrt';
      if (
date("d.m") == "$Pfingstmontag"$feiertag 'Pfingstmontag';
      if (
date("d.m") == "$Fronleichnam "$feiertag 'Fronleichnam';
      if (
date("d.m") == "03.10"$feiertag 'Tag der Deutschen Einheit';
      if (
date("d.m") == "01.11"$feiertag 'Allerheiligen';
      if (
date("d.m") == "24.12"$feiertag 'Heiliger Abend';
      if (
date("d.m") == "25.12"$feiertag '1. Weihnachtstag';
      if (
date("d.m") == "26.12"$feiertag '2. Weihnachtstag';
      if (
date("d.m") == "31.12"$feiertag 'Silvester';
   }

   if (
$feiertag != "keiner") {
    
$offen $gruss " Heute, am " $feiertag ', ist unser Büro geschlossen.';
   }
   elseif (
$tage[$tag] == "Samstag") {
    
$offen $gruss ' heute am ' $tage[$tag] . ', ist unser Büro geschlossen.';
   }
   elseif (
$tage[$tag] == "Sonntag") {
    
$offen $gruss ' heute am ' $tage[$tag] . ', ist unser Büro geschlossen.';
   }
   else {
    
$offen $gruss 'unser Büro hat heute, am ' $tage[$tag] . ' den ' date(" d") . ' ' $monate[date("n")] . ' ' $gruss2 ' geschlossen.';
   }
  }

//   $offen = 'Wir haben Urlaub. Unser Büro ist bis Dienstag, den 14. April 2021 geschlossen'; // Info über Urlaub
  
return($offen);
}

echo  
'<p>' oeffnungszeiten() . '</p>';
?>

Vielen Dank an: Andrzej Kossowski - kossowski.biz für dieses tolle Script.

Bausteine  Alle Anzeigen

Eine zufällige Auswahl von Bausteinen (Codeschnipsel) aus den Bereichen HTML, CSS, PHP, JavaScript und MySQL.

<dialog> Dialog Element

CSS - Pflichtfeld hervorheben

PHP - Einbinden aller Dateien aus einem Verzeichnis

JavaScript - Audiodateien per Button-Klick abspielen

MySQL - Datenbank-Abfrage über den URL-Parameter