PHP-Einfach.de
  • PHP Tutorial
  • MySQL Tutorial
  • Für Fortgeschrittene
  • Webhosting
  • Forum

Codeschnipsel

Datum nach Zeitzonen

Zurück zur Übersicht
Manchmal schreibt man ja auch Programme die eine Zeitangabe ausgeben. Beispiel ist hier ja direkt ein Forum.

Problem ist es keines hier eine Zeit auszugeben, man setzt einfach date() ein. Doch ist diese Zeit nicht für jeden gleich. Was ist wenn ich in den USA sitze und in ein Forum schaue, was auf einen Server in Deutschland gehostet wird? Dann wird mir da auch die Deutsche Zeit angezeigt. Anderesrum gibt es auch Personen
die einen Server im Ausland haben und dort nur eben Personen aus der Deutschen Zeitzone (UTC +1) schauen, so wäre da aber dann die Dortige Zeitzone relevant.

Natürlich gibt es die Funktion gmdate, welche einen Zeitstempel nach GMT/UTC Standart bearbeitet, und genau das ist der Schlüssel dazu.
Daraus entsteht eine einfache Funktion die drei Parameter braucht.
Den Zeitstempel, die Zeitzone und die Formatierung.
<?php
function utc_date($timestamp, $timezone = '0', $format = 'd.m.Y, H:i', $summertime = false)
    {
        
$timestamp += (3600*intval($timezone));
        if(
$summertime === true)
        {
            
$timestamp += 3600;
        }
        return 
gmdate($format, $timestamp);
    }
?>

In der Funktion gibt es auch nicht die Sommerzeit, diese hätte man auch Automatisch bestimmen können, aber es gibt Länder die eben keine Sommerzeit haben. (Japan wäre so eines.)
Was macht due Funktion? Ihr übergebt der Funktion einen Zeitstempel sowie die Zeitzone, Standart ist 0. Erlaubte werte wären -1 0 +1 2 2.5 usw. Also eben die Zeitzonen in Zahlenform mit + und -.
Beispiel 1:
<?php
$time 
= time();
$zeitzone = +1 //Zeitzone Mitteleuropa

echo utc_date($time,$zeitzone);
?

Die Ausgabe wäre in diesem Fall die Aktuelle Zeit in Deutschland. Würden wir als Parameter fpr die Zeitzone 0 Einsetzten, hätten wir die Zeit in London, +9 wäre die Zeit in Tokio und -6 in New York.

Wollen wir auch noch eine eigene Zeitformatierung haben, übergeben wir einen Dritten Parameter mit der Formatierung.
<?php
//selbe wie im Beispiel 1.
$format = "d.m.Y";
echo 
utc_date($time,$zeitzone,$format);
?>

Die Ausgabe wäre in diesem Fall der Tag.Monat.Jahr, würden wir nur H:i:s übergeben würden wir die Stunden:Minuten:Sekunden bekommen.

Jetzt kann es manchmal vorkommen das es noch Sommer ist und wir eine Sommerzeit brauchen. Das können wir jetzt aber einfacher überprüfen oder dem Besucher selbst überlassen.
<?php
//selbe wie im Beispiel 1 und 2
if($_POST['summertime'] == 'yes') {
$summertime = true;
}
echo 
utc_date($time,$zeitzone,$format,$summertime);
?>

Wäre jetzt Winterzeit, und die Zeitzone +1, wäre die Ausgabe so, als wäre die ZEitzone +2 oder wir wären gerade in der Sommerzeit.

Ein Dank geht an einen Freund von mir. Ach ja, direkt vorweg, das ist ein Codeschnipsel den ich mal für mich angepasst habe, es gibt soviele Möglichkeiten dafür und mir sind sehr viele bekannt.
Viel Spaß damit.


Kommentare

Autor Teralios

Zurück zur Übersicht
Autor: Nils Reimers
Zurück: URLs im Text identifizieren

Für Fortgeschrittene

  • Objektorientierte Programmierung
  • PHP Sicherheit
  • Script-Beispiele
  • Codeschnipsel
  • Stellenmarkt
Mit freundlicher Unterstützung von:
  • Punkt191 Werbeagentur
  • CasinoAndy Finland
  • Casinoohnelizenz.info
  • Cryptocasinomaster.com
  • CasinoHEX.at
  • inkedin.com

Hoster – Geringste Ausfallzeit

  1. webgo Ø 1 Min.
  2. Linevast Ø 2 Min.
  3. netcup Ø 3 Min.
  4. All-Inkl.com Ø 6 Min.
  5. checkdomain Ø 8 Min.
  6. dogado Ø 17 Min.
  7. bplaced Ø 17 Min.
  8. Contabo Ø 25 Min.
  9. Hetzner Ø 49 Min.
  10. ONE.com Ø 62 Min.
» Mehr erfahren

Impressum | Datenschutz | Auf PHP-Einfach.de werben

© PHP-Einfach.de 2003 - 2023

Cookie-Zustimmung verwalten
Um dir ein optimales Erlebnis zu bieten, verwenden wir Technologien wie Cookies, um Geräteinformationen zu speichern und/oder darauf zuzugreifen. Wenn du diesen Technologien zustimmst, können wir Daten wie das Surfverhalten oder eindeutige IDs auf dieser Website verarbeiten. Wenn du deine Zustimmung nicht erteilst oder zurückziehst, können bestimmte Merkmale und Funktionen beeinträchtigt werden.
Funktional Immer aktiv
Die technische Speicherung oder der Zugang ist unbedingt erforderlich für den rechtmäßigen Zweck, die Nutzung eines bestimmten Dienstes zu ermöglichen, der vom Teilnehmer oder Nutzer ausdrücklich gewünscht wird, oder für den alleinigen Zweck, die Übertragung einer Nachricht über ein elektronisches Kommunikationsnetz durchzuführen.
Vorlieben
Die technische Speicherung oder der Zugriff ist für den rechtmäßigen Zweck der Speicherung von Präferenzen erforderlich, die nicht vom Abonnenten oder Benutzer angefordert wurden.
Statistiken
Die technische Speicherung oder der Zugriff, der ausschließlich zu statistischen Zwecken erfolgt. Die technische Speicherung oder der Zugriff, der ausschließlich zu anonymen statistischen Zwecken verwendet wird. Ohne eine Vorladung, die freiwillige Zustimmung deines Internetdienstanbieters oder zusätzliche Aufzeichnungen von Dritten können die zu diesem Zweck gespeicherten oder abgerufenen Informationen allein in der Regel nicht dazu verwendet werden, dich zu identifizieren.
Marketing
Die technische Speicherung oder der Zugriff ist erforderlich, um Nutzerprofile zu erstellen, um Werbung zu versenden oder um den Nutzer auf einer Website oder über mehrere Websites hinweg zu ähnlichen Marketingzwecken zu verfolgen.
Optionen verwalten Dienste verwalten Anbieter verwalten Lese mehr über diese Zwecke
Einstellungen ansehen
{title} {title} {title}