PHP - Öffnungszeiten

Guten Tag Besucher, Unser Büro ist heute, am Dienstag den 28 November von 09:00 bis 17:00 geöffnet

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 Codeschnipseln aus den Bereichen HTML, CSS, PHP, JavaScript und MySQL.

<source> Quelle

CSS - DiscoLights - Box-Shadow Animation

PHP - Inhalt auf einen bestimmten Zeitraum pro Tag begrenzen

JavaScript - Zweite Auswahlliste aktivieren

MySQL - Benutzer ausgeben die min. 25 Tage registriert sind

Fehlerhafter Quelltext
Die meisten Browser sind wahre Lesekünstler. Sie versuchen selbst aus dem größten Code-Chaos ein lesbares Bild für den Betrachter zu schaffen. Je mehr Fehler allerdings im Quelltext vorhanden ist, desto mehr Zeit wird er für die Darstellung benötigen. Eine fehlerfreie Ausgabe ist gleichermaßen zu bezweifeln.