Sådan skulle det virke : <html> <head> <TITLE>Tid</TITLE>
<script language="JavaScript"> <!-- function CountDown(){ var nu = new Date(); var Engang = new Date(2000,05,21,08,00,00,00); // Husk at januar=0, februar=1 osv.
var S = Engang.getTime() - nu.getTime();
if (S<0) { S=-S; }
var T = Math.floor(S / (60*60*1000)); S = S - (T * (60*60*1000)); var M = Math.floor(S / (60*1000)); S = S - (M * (60*1000)); var Se = Math.floor(S/1000); S = S - (Se * 1000); var Ms = Math.floor(S / 10);
Jeg kan ikke bruge dit script, da det jeg skal bruge skal være tekstbaseret - så tager det ikke så lang tid at indlæse. I øvrigt behøver der ikke at være milisekunder med. Til gengæld skal der være år med, og det manglede i dit script.
Scriptets udgangstidspunkt skal være d. 9. februar 1989 kl. 14.02.00, og scriptet skal regne ud hvor mange år, dage, timer, minutter og sekunder det er siden.
var T = Math.floor(S / (60*60*1000)); S = S - (T * (60*60*1000)); var M = Math.floor(S / (60*1000)); S = S - (M * (60*1000)); var Se = Math.floor(S/1000); S = S - (Se * 1000); var Ms = Math.floor(S / 10);
Når jeg nu har givet dig koden, så skal du da også have den korrekte !?!? Den forrige regner ikke årstallet korrekt ud både forlæns og baglæns. Det gør denne her til gengæld:
<html> <head> <TITLE>Tid</TITLE>
<script language="JavaScript"> <!-- function calcYear(MyYear) { if (MyYear<100) {return MyYear + 1900} else {return MyYear} } // --> </script>
<script language="JavaScript"> <!-- function CountDown() { var nu = new Date(); var True = -1; var False = 0;
// HER KAN DU SÆTTE EN REFERENCEDATO !!!!!!!!!!! var Engang = new Date(1999,05,23,15,00,00,00); // Husk at januar=0, februar=1 osv.
// Første step til beregning af årene var YearDiff = calcYear(Engang.getYear()) - calcYear(nu.getYear()); if (YearDiff<0) {YearDiff=-YearDiff}
// Andet step til beregning af årene var S = Engang.getTime() - nu.getTime(); if (S<0) { S=-S; var Fremtid = False; var TempEngang = new Date(); TempEngang.setTime(Engang.getTime()); TempEngang.setYear(nu.getYear()); if (TempEngang > nu) {YearDiff = YearDiff - 1} } else { var Fremtid = True; var TempEngang = new Date(); TempEngang.setTime(Engang.getTime()); TempEngang.setYear(nu.getYear()); if (TempEngang < nu) {YearDiff = YearDiff - 1} }
//Fraregning af årene if (Fremtid == True) {nu.setYear(calcYear(nu.getYear())+YearDiff)} else {nu.setYear(calcYear(nu.getYear())-YearDiff)}
//Beregn differencen modulus 1 år if (Fremtid == True) {var S = Engang.getTime() - nu.getTime()} else {var S = nu.getTime() - Engang.getTime()}
var D = Math.floor(S / (24*60*60*1000)); S = S - (D * (24*60*60*1000)); var T = Math.floor(S / (60*60*1000)); S = S - (T * (60*60*1000)); var M = Math.floor(S / (60*1000)); S = S - (M * (60*1000)); var Se = Math.floor(S/1000); S = S - (Se * 1000); var Ms = Math.floor(S / 10);
// Årene if (Fremtid == True) {var TXT = ' Tid indtil ' + Engang.toLocaleString() + ': '} else {var TXT = ' Tid siden ' + Engang.toLocaleString() + ': '} TXT = TXT + YearDiff + ' år ';
// Dagene kontrol = parseInt(Math.floor(D/100),10); if (kontrol>0) {TXT = TXT + kontrol} kontrol = parseInt(Math.floor(((D/100) - Math.floor(D/100))*10),10); if (kontrol>0) {TXT = TXT + kontrol} TXT = TXT + parseInt(Math.floor(((D/10) - Math.floor(D/10))*10),10) + ' dage ';
Så skal det altså også være slut !!!!! Udgave nr. 2 havde for voldsomme afrundingsfejl. Sidste huk ;o)
<html> <head> <TITLE>Tid</TITLE>
<script language="JavaScript"> <!-- function calcYear(MyYear) { if (MyYear<100) {return MyYear + 1900} else {return MyYear} } // --> </script>
<script language="JavaScript"> <!-- function CountDown() { var nu = new Date(); var True = -1; var False = 0;
// HER KAN DU SÆTTE EN REFERENCEDATO !!!!!!!!!!! var Engang = new Date(2000,05,24,16,00,00,00); // Husk at januar=0, februar=1 osv.
// Første step til beregning af årene var YearDiff = calcYear(Engang.getYear()) - calcYear(nu.getYear()); if (YearDiff<0) {YearDiff=-YearDiff}
// Andet step til beregning af årene var S = Engang.getTime() - nu.getTime(); if (S<0) { S=-S; var Fremtid = False; var TempEngang = new Date(); TempEngang.setTime(Engang.getTime()); TempEngang.setYear(nu.getYear()); if (TempEngang > nu) {YearDiff = YearDiff - 1} } else { var Fremtid = True; var TempEngang = new Date(); TempEngang.setTime(Engang.getTime()); TempEngang.setYear(nu.getYear()); if (TempEngang < nu) {YearDiff = YearDiff - 1} }
//Fraregning af årene if (Fremtid == True) {nu.setYear(calcYear(nu.getYear())+YearDiff)} else {nu.setYear(calcYear(nu.getYear())-YearDiff)}
//Beregn rest under 1 år if (Fremtid == True) {var S = Engang.getTime() - nu.getTime()} else {var S = nu.getTime() - Engang.getTime()}
var D = Math.floor(S / (24*60*60*1000)); S = S - (D * (24*60*60*1000)); var T = Math.floor(S / (60*60*1000)); S = S - (T * (60*60*1000)); var M = Math.floor(S / (60*1000)); S = S - (M * (60*1000)); var Se = Math.floor(S/1000); S = S - (Se * 1000); var Ms = Math.floor(S / 10);
// Årene if (Fremtid == True) {var TXT = ' Tid indtil ' + Engang.toLocaleString() + ': '} else {var TXT = ' Tid siden ' + Engang.toLocaleString() + ': '} TXT = TXT + YearDiff + ' år ';
// Dagene kontrol = parseInt(Math.floor(D/100),10); if (kontrol>0) {TXT = TXT + kontrol} kontrol = parseInt(Math.floor((D - Math.floor(D/100)*100)/10),10); if (kontrol>0) {TXT = TXT + kontrol} TXT = TXT + parseInt(Math.floor((D - Math.floor(D/10)*10)),10) + ' dage ';
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.