Shorty1968
Erfahrenes Mitglied
Hallo ich bin dabei mir einen Event Countdown für meine Seite zu bauen,es ist soweit auch alles fertig und Funktioniert,es gibt nur ein Problem mit dem Inhalt der EventCountdown.class.js der wie Folgt aussieht.
Wenn ich im ACP das Ablauf Datum einstelle wird es im Forum komplett Falsch übergeben oder schon als Abgelaufen angezeigt.
Ich versuche mal ein Beispiel zu geben wenn ich im ACP Start Datum den 10 November 2013 einstelle und für den Ablauf den 12 November 2014 Zeigt er mir im Forum an das der Countdown in 21 Tagen, 5 Stunden, 3 Minuten 55 Sekunden abläuft,was stimmt bei meiner EventCountdown.class.js nicht?
Code:
function EventCountdown(event) {
this.eventTime = event;
this.element = element;
this.printCountdown = function() {
var now = new Date();
if (now < this.eventTime) {
var years = 0, months = 0, days = 0, hours = 0, minutes = 0, seconds = 0;
while(now < this.eventTime) {
hours++;
now.setFullYear(now.getFullYear()+1);
}
now.setFullYear(now.getFullYear()-1);
hours--;
while(now < this.eventTime) {
months++;
now.setMonth(now.getMonth()+1);
}
now.setMonth(now.getMonth()-1);
months--;
while(now.getTime()+(24*60*60*1000) < this.eventTime) {
days++;
now.setTime(now.getTime()+(24*60*60*1000));
}
hours = Math.floor((this.eventTime - now)/(60*60*1000));
now.setTime(now.getTime() + hours*60*60*1000);
minutes = Math.floor((this.eventTime - now)/(60*1000));
now.setTime(now.getTime() + minutes*60*1000);
seconds = Math.floor((this.eventTime - now)/1000);
(days != 1)?days = days + ' ' + language['wcf.global.date.days'] + ', ':days = days + ' ' + language['wcf.global.date.day'] + ', ';
(hours != 1)?hours = hours + ' ' + language['wcf.global.date.hours'] + ', ':hours = hours + ' ' + language['wcf.global.date.hour'] + ', ';
(minutes != 1)?minutes = minutes + ' ' + language['wcf.global.date.minutes'] + ' ' + language['wcf.global.and'] + ' ':minutes = minutes + ' ' + language['wcf.global.date.minute'] + ' ' + language['wcf.global.and'] + ' ';
if (seconds < 10) seconds = "0" + seconds;
(seconds != 1)?seconds = seconds + ' ' + language['wcf.global.date.seconds']:seconds = seconds + ' ' + language['wcf.global.date.second'];
var output = days + hours + minutes + seconds + ' ' + language['wbb.global.untilNewEvent'];
if (this.element.hasChildNodes()) {
this.element.firstChild.nodeValue = output;
} else {
var node = document.createTextNode(output);
this.element.appendChild(node);
}
return true;
} else {
var output = language['wbb.global.newEvent'];
if (this.element.hasChildNodes()) {
this.element.firstChild.nodeValue = output;
} else {
var node = document.createTextNode(output);
this.element.appendChild(node);
}
return false;
}
};
}
Ich versuche mal ein Beispiel zu geben wenn ich im ACP Start Datum den 10 November 2013 einstelle und für den Ablauf den 12 November 2014 Zeigt er mir im Forum an das der Countdown in 21 Tagen, 5 Stunden, 3 Minuten 55 Sekunden abläuft,was stimmt bei meiner EventCountdown.class.js nicht?