Serverzeit vs. lokale Zeitzone

date_default_timezone_set

Seit PHP 5.2.1 gibt es die Möglichkeit die Zeitzonenzeit vor einem Scriptaufruf explizit zu setzen. Damit entledigt man sich dann der aufwendigen Prüfung und ggf. Korrektur hinsichtlich Zeitabweichung zwischen  eingestellter Serverzeit und Zeit der Zeitzone. Dies kann insbesondere dann hilfreich sein,  falls eine Leistung lokal zeitpunktbezogen bereitgestellt werden soll. Ein typisches Beispiel wären die Bestellzeiten eines lokalen Lieferdienstes in einem Online-Shop. Dieses Verfahren haben wir in ein Shortcode für WordPress gegossen, um alle Online-Bestellungen für die Öffungungs- und Lieferzeiten einer Jigoshop-Installation für eine Pizzeria zu begrenzen.

Bsp.:

date_default_timezone_set('Europe/Berlin');
$jetzt = date("H:i:s");
$offenstart = date("H:i:s", mktime(16, 30, 0, 0, 0, 0)); // 16.30 Uhr
$offenende = date("H:i:s", mktime(22, 30, 0, 0, 0, 0)); // 22:30 Uhr
if (($jetzt >= $offenstart) && ($jetzt <= $offenende)) {
  echo "geöffnent";
} else {
  echo "geschlossen";
}


Zur korrekten Verwendung ist hier eine Liste der unterstützten europäschen Zeitzonen (http://www.php.net/manual/de/timezones.europe.php):

DAS SAGT DIE WELT

COMPANY CUSTOMER PACT

ein Herz für unsere KundenWir glauben an gute Kundenbeziehungen und offene Kommunikation miteinander.