easygo hat geschrieben:Lass mal stecken.. für mich gehts auch weiterhin so nicht auf btw.
Unix-Timestamp ist nun mal zeitzonenabhängig. easy
Hi easy,
wieso geht das nicht auf? Hast Du es getestet und Fehler gefunden oder handelt es sich um ein reines Verständnisproblem? Den Algorithmus hat Xwitz doch schon ziemlich verständlich erklärt.
Setz Dich doch bitte noch einmal genauer mit der Problemstellung auseinander: Es geht darum, dem User alle x Minuten ein anderes Banner zu präsentieren, ohne den letzten Zwischenstand irgendwo abzulegen. Dafür muss man eine Konstante als Zeitbasis verwenden, von der man ausgeht - der Timestamp (bzw. der Timestamp-Wert 0) bietet sich dafür mit Goldauszeichnung an.
Es ist nicht die Aufgabenstellung, allen Usern
synchron ein anderes Banner zu präsentieren (was übrigens mit der serverseitigen PHP-Lösung funktionieren würde, denn die Zeiteinstellung auf dem Server ist für alle Benutzer gleich).
In der Hinsicht unterliegt die JS-Lösung natürlich der üblichen Problematik von clientseitigen Anwendungen und hängt in diesem Fall von der Zeiteinstellung des Users ab - was aber zu vernachlässigen ist; denn (davon ausgegangen, der User ändert nicht laufend seine Systemzeit

) auch so bekommt User Y alle x Minuten ein neues Banner präsentiert. Ob das bei User Z (an einem anderen PC) nun zwei Minuten vorher oder nachher passiert, ist vollkommen schnurz, denn für jeden einzelnen User bleibt der absolute Zeitabstand bis zum nächsten Wechsel gleich.
Im übrigen ist der Unix-Timestamp in keinster Weise von der lokalen Zeitzone abhängig; der Timestamp repräsentiert die Anzahl der vergangenen Sekunden seit dem 01.01.1970 00:00:00 UTC; die Berücksichtigung der lokalen Zeitzone erfolgt erst mit Verwendung der Datumsfunktionen (date() etc.).
Siehe auch
http://de.wikipedia.org/wiki/Unixzeit