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.
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:
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
1:
2:
3:
4:
5:
<?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
1:
2:
3:
4:
5:
6:
7:
<?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.
Post wurde schon 1x editiert, das letzte mal am 31.12.2006 um 17:23 von Teralios
Orginal von GameR
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.
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:
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
1:
2:
3:
4:
5:
<?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
1:
2:
3:
4:
5:
6:
7:
<?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.
Dein realease ist super toll nur muss ich dir 2 Fehler andocken Oo
Ich poste einfach nurmal die Codes wie du es gemacht hast und darunter dann mein verbessertes GameR
Schön, dass du nochmal wiederholst, was der Gast vor dir schon korrgiert hat, Altecer. Bei den Zeitzonen fehlen meines Erachtens noch ein paar. Meines Wissens gibt es auch noch +13 und +14 auf irgendwelchen kleinen Inseln im Pazifik.
Leidenschaftlicher Rechtschreibfehler-Sammler sucht mehrere Lagerhallen zwecks Erweiterung der Sammlung. Bis zur Vergrößerung der Lagerkapazitäten bitte möglichst keine Rechtschreibfehler mehr posten. Danke.