moin,
Ich habs
Hmm, ich finde die Lösung nicht so toll. Es könnte zu einem Zeitdrift kommen, wenn Du einfach nur addierst. Ich würde einen Abgleich zwischen Server- und Clientzeit machen.Dass es eine Zeitdrift geben kann, ist klar.
Der zB auch kommen kann, wenn der Browser mal nicht exakt einer Sekunde benötigt, um das Script zu aktualisieren... Würde es ein extremer Aufwand sein, es besser zu machen, würde ich Deine Bedenken verstehen so eher weniger...
Durch Laufzeiten bedingt geht diese Uhr grundsätzlich um 1..2 Sekunden nach, bereits beim Laden. Und nach dem Laden wird sie auch langsam langsamer. Die Seite neu laden und schon geht diese Uhr wieder (fast) richtig, sie soll ja auch nicht ewig laufen.
Meine Bedenken zum Abgleich der ClientZeit bestehen nicht wegen dem Aufwand. Ich bin der Meinung, dass eine Webseite nicht ungefragt die Zeit am PC verstellen sollte.
Noch was zur Geschichte dieser Uhr
Vor ein paar Jahren habe ich mal einen SELF-Artikel über daytime und sockets/PERL geschrieben:
http://aktuell.de.selfhtml.org/artikel/server/daytime/
Da ich neuerlich nach TimeServern suchte (die im Artikel angegebenen Timeserver gibts nicht mehr), stellte ich auch fest, dass das Protocol 'daytime' total aus der Mode gekommen ist, d.h., keiner der von mir gefundenen aktuellen Zeitserver stellt die Uhrzeit als string am Port 13 bereit.
Wahrscheinlich ist das auch deswegen deprecated, weil es für diesen String nie einen einheitlichen Standard gab, auch nicht in der RFC 867.
Alle heute tätigen Timeserver benutzen das protocoll 'time' und stellen die Uhrzeit als 32-Bit-Binärzahl am Port 37 zur Verfügung.
Weil ich eine solche Uhr schon seit Längerem brauchte, schon immer einmal was über das time-protocol schreiben wollte, auch ein bischen JavaScript besser kennenlernen wollte und gestern Mistwetter war habe ich dieses CGI geschrieben ;-)
Btw., auf meiner Suche nach einer online-Uhr fand ich eine Webseite mit einer richtig schön gemachten Uhr als MMFlash. Leider zeigte diese coole Uhr auch nur meine eigene Systemzeit an. Ein Grund mehr, was Eigenes zu schreiben :)
roro