Anhand von zwei Timestamps einen JS Counter ausgeben

  • Also ich bräuchte mal ein bisschen Hilfe für eine Counterfunktion, geschrieben mit Javascript.
    Ich habe bisher das ganze so durchdacht:
    Ich habe in einer Datenbank zwei spalten (start und ende).
    Bei start steht der Timestamp drin, der aktuell war als das Formular zum speichern abgeschickt wurde. Bei ende steht der Timestamp drin von der Zeit wann es aufhören soll (sagen wir ein Timestamp der 6 Stunden größer ist.)
    Nun möchte ich folgendes prüfen:
    Ich schaue ob der ende-timestamp kleiner als der start timestamp ist wenn ja dann führe ich etwas anderes aus. Wenn nein dann soll ein Counter ausgegeben werden der runterzählt von jetzt bis zum timestamp der in der datenbank steht. Das müsste ich auch hinbekommen... Allerdings hab ich keine Ahnung wie ich so einen Counter bauen soll und wie ich diesem Script dann die zu verwendenden Daten geben soll.

    Kann mir jemand zeigen wie sowas geht?

    Don't follow me, I run into walls.

  • http://dodo.bplaced.net/
    Hier habe ich einen Counter gebastelt, der die uhrzeit hinaufzählt ;)
    Das kannst du ga z einfach so umbauen, dass er herunterzählt.

    Erklärung:

    <script type="text/javascript" src="../js/serverTime.php?show=home"></script>
    Hier werden die wichtigen Variablen vom Server per date() ausgelesen und an JavaScript übergeben.

    <script type="text/javascript" src="../js/scripts.js"></script>

    Hier gibt es 2 wichtige Funktionen:

    function onloadFunction()
    Hier wird das Intervall gestartet, das den Timer jede Sekunde startet.

    function serverzeit()
    Dies ist der Timer, der zuerst zählt und anschließend die Anzeige updated.

    Ein Beispiel siehst du in meiner Seite im Footer ;)

    Something big is coming. And there will be pirates and ninjas and unicorns...

  • Hi ich melde mich zu diesen Thema nochmal zurück... Leider bin ich bei meinem Problem nicht wirklich weiter gekommen und brauch es aber jetzt bald...

    Bisher sieht das ganze so aus, ich hab den aktuellen Timestamp in MS und den Timestamp der Endzeit in MS.

    Code
    function counter(ende) {
        var jetzt = new Date();
        jetzt = jetzt.getTime();
        var ende = ende; //Ende des Counters als Timestamp in Sekunden
        ende = ende * 1000; //Ende des Counters als Timestamp in Millisekunden
    }

    Jetzt komm ich nicht weiter... Ich will die Differenz im folgenden Format ausgeben "Stunden:Minuten:Sekunden" wie ich das jetzt ausrechne mit Javascript weiß ich leider nicht. Da bräuchte ich mal jemand der mir zeigt wie man sowas macht.
    Was ich weiß ist, das man am Ende noch einen Timeout von 1000 MS machen muss und dann die Funktion erneut aufrufen muss, ist das richtig?

    Hoffe jemand kann mir erklären wie das genau funktioniert.

    Don't follow me, I run into walls.

  • So das Problem wäre somit gelöst. Ich stelle euch nun den Code zur Verfügung.

    functions.js

    Aufruf in einer Datei:

    PHP
    echo "<span id='counter'></span>
    <script type='text/javascript'>counter(".$ende.");</script>";

    Die Variable Ende wird als Timestamp in SEKUNDEN übergeben!

    Don't follow me, I run into walls.