Timer in JQuery

tsluga

Grünschnabel
Hallo !

Ich sitze hier gerade an etwas und vielleicht kann mir einer die Arbeit verkürzen !

Für eine Seite muss ich einen Timer bauen, hierfür würde ich gerne JQuery nutzen !

Dabei soll immer die restliche Zeit gezählt werden von

00:00 bis 03:00
03:00 bis 06:00
06:00 bis 09:00

usw. Immer eine Zeitspanne von drei Stunden. Nun kommt ein User auf die Seite z.B. um 01:30, somit bleiben noch 1:30 bis 03:00 Uhr. Also beginnt der Timer von 01:29:59, 01:29:58 usw. mit dem Countdown bis 03:00.

Wir kann man sowas am einfachsten umsetzen ?
 
Hi,

ermittel zum einen das aktuelle Datum (new Date), zum anderen das Datum um 0 Uhr des gleichen Tages (new Date(jahr, monat, tag, 0, 0, 0)).

Mit getTime() lassen sich die Anzahl der Millisekunden bestimmen, die seit dem 1.1.1970 verstrichen sind. Die Differenz der beiden Werte und eine Division mit anschliessendem Runden ergibt die Anzahl der Sekunden, die bereits am heutigen Tag verstrichen sind.

Die Anzahl der Sekunden, die im geforderten Intervall bereits verstrichen sind, lassen sich über den ganzzahligen Rest (Sekunden modulo Intervall in Sekunden) berechnen. Wird dieser Wert von der Gesamtanzahl Sekunden des Intervalls subtrahiert, stehen die restlichen Sekunden im Intervall zur Verfügung. Mit diesen lässt sich nun ein gewöhnlicher Countdown realisieren - dazu gibt es ausreichend Themen im Forum.

Eine Routine, die das oben beschriebene realisiert, könnte wie folgt aussehen:
Code:
function initInterval(){
  // Aktuelles Datum
  var dateCur = new Date();
  // Datum zu Tagesbeginn
  var dateToday = new Date(dateCur.getFullYear(), dateCur.getMonth(), dateCur.getDate(), 0, 0, 0);
  // Anzahl Sekunden in drei Stunden
  var intSek = 3*60*60;
  // Anzahl bereits verstrichener Sekunden des aktuellen Tages
  var intDiff = Math.floor((dateCur.getTime()-dateToday.getTime())/1000);

  // Anzahl Sekunden bis zum Ende des nächsten Drei-Stunden-Intervalls zurückgeben
  return intSek - intDiff%intSek;
}

Die Funktion liefert die Restsekunden im Drei-Stunden-Intervall zurück.

Ciao
Quaese
 

Neue Beiträge

Zurück