Jörg: Falsche Ausgabe

Hallo allerseits,

ich bin leider in JavaScript nicht sonderlich bewandert, möchte jedoch auf der Website einer Freundin einen im Web gefundenen und für die Site meiner Freundin leicht angepassten JavaScript-Counter einbinden. Hier der Quellcode:

function counter() {
var eventdate = new Date("November 23, 2012 01:00:00 GMT");
d=new Date();count=Math.floor((eventdate.getTime()-d.getTime())/1000);
count=Math.floor(count/(60*60*24));

if (count > 1) {
document.write ("<div id='counter' style='text-align:center; vertical-align:middle;'><span class='counter_gr'>Er&ouml;ffnung</span><br /><span class='counter'>in &nbsp;&nbsp;</span><span class='counter_gr'>" + count + "</span><br /><span class='counter_gr'>Tagen</span></div>");
}
else {
if (count == 1) {
document.write ("<div id='counter' style='text-align:center; vertical-align:middle;'><span class='counter_gr'>Er&ouml;ffnung</span><br /><span class='counter'>ist</span><br /><span class='counter_gr'>Morgen</span></div>");
}
else {
if (count == 0) {
document.write ("<div id='counter' style='text-align:center; vertical-align:middle;'><span class='counter_gr'>Er&ouml;ffnung</span><br /><span class='counter'>ist</span><br /><span class='counter_gr'>Heute</span></div>");
}
}
}
}

Beim Test fiel mir auf, das bei eingestelltem Datum 22.11.20012 und im Script vorgegebenen Datum 23.11.2012 auf der Website statt "Eröffnung ist Mögen", "Eröffnung ist Heute" ausgegeben wird. Ändere ich das Datum im Script auf den 24.11.2012 erscheint "Eröffnung ist Morgen" obwohl dann eigentlich "Eröffnung in 2 Tagen" ausgegeben werden sollte. Kann mir jemand helfen und mir sagen was ich falsch gemacht habe?

Vielen Dank schon mal im Voraus für Eure Bemühungen.

Jörg

  1. Quizfrage: Wieviele Stunden sind es noch bis morgen? Jedenfalls keine 24.

    1. Quizfrage: Wieviele Stunden sind es noch bis morgen? Jedenfalls keine 24.

      Hallo 1UnitedPower,

      stimmt, jetzt wo Du es so schreibst fällt mir dies auch auf. Danke.

      Jörg

  2. Hallo Jörg,

    count=Math.floor(count/(60*60*24));

    ich vermute, es liegt am abrunden. 1.1 Tage werden zu einem Tag. Versuch mal Math.ceil. Dann werden durch aufrunden aus 1.1 Tagen 2 Tage.

    Gruß, Jürgen

    1. Hallo Jörg,

      count=Math.floor(count/(60*60*24));

      ich vermute, es liegt am abrunden. 1.1 Tage werden zu einem Tag. Versuch mal Math.ceil. Dann werden durch aufrunden aus 1.1 Tagen 2 Tage.

      Gruß, Jürgen

      Hallo Jürgen,

      danke für die schnelle Antwort und Deine Hilfe. Hab's probiert und es funktioniert nun wie es soll. Danke.

      Jörg