Beiträge von SoftCreatR

    An für sich ist das korrekt, ja. Aber warum ich nicht einfach TIME_NOW_CP = TIME_NOW verwende: Würde ich das tun, würde ich nur eine Referenz auf die ursprüngliche Variable erzeugen. Änderungen an der "neuen" Variable führen zumindest in Javascript dazu, dass auch die "alte" Variable verändert wird. Dadurch hättest du aber nichts gewonnen, weil ja vermieden werden soll, dass die Variable TIME_NOW verändert wird. Das slice(0) ist ein kleiner Hack, um das Problem zu umgehen. Allerdings funktioniert das nur bei Strings, also muss der Integer erst in einen String gecastet werden und am Ende wieder in einen Integer, weil sich mit Strings immer schlecht rechnen lässt.


    Gibt sicherlich noch schönere Wege. Das hier ist mir nur als erstes eingefallen :)

    Extrem geil ist die Methode nicht und es wäre möglich, dass das Verändern von TIME_NOW irgendwelche Seiteneffekte erzeugt, die ich nicht bedacht habe. Wenn du auf Nummer sicher gehen willst, ersetze



    durch:


    Dann muss jetzt mal der proSidor schauen, ob die Anzeige jetzt passt,.....


    Nein, tut sie nicht. Also nicht direkt. Ist aber meine Schuld. Ich habe Quatsch erzählt ;) Denn TIME_NOW ist ja statisch und ändert sich nicht.


    Füg mal über var time = new Date(TIME_NOW*1000), noch ein: TIME_NOW++;

    genau 2 Stunden und nicht irgendwie das 1.000stel? Wenn es um den Faktor 1000 zu gering wäre?

    Und wieso passt es bei mir?


    Die 2 Stunden ergeben sich aus der Zeitzone des Besuchers. Mit der von mir vorgeschlagenen Änderung wird immer die Serverzeit verwendet, unabhängig vom Standort des Besuchers und damit auch unabhängig von der dortigen Zeitzone.


    Aber da war ja schon in der Funktion der Faktor 1000 versteckt, oder nicht?


    Die 1000, von denen du sprichst, sind die Millisekunden bis zur Aktualisierung der Anzeige, also 1 Sekunde (wie wir gelernt haben, entspricht 1 Sekunde 1000 Millisekunden... ^^).


    Die einzige Änderung am Template wäre also, aus var time = new Date(), das zu machen: var time = new Date(TIME_NOW * 1000),


    Ansonsten alles so lassen, wie es ist und einfach den Besucher damit leben lassen, dass sein Rechner oder Browser falsch konfiguriert ist ;)