Avatar billede dnm Nybegynder
06. juli 2003 - 06:18 Der er 2 kommentarer

Antal dage og timer timer.

Hvordan laver man en function der beregner antal dage og timer fra en dato?
Avatar billede ahv Nybegynder
06. juli 2003 - 07:13 #1
<html>
<head>
<style>
span {
color: red;
}
</style>
<script>
datoop = new Date(2003, 3, 30, 22, 00, 0); // Måneden skal være en mindre

function tael() {
nu = new Date();

//Tæl op

nt = nu.getTime() - datoop.getTime();
d = Math.ceil(nt / (1000 * 60 * 60 * 24));
t = Math.ceil(nt / (1000 * 60 * 60));
m = Math.ceil(nt / (1000 * 60));
s = Math.ceil(nt / 1000);
sd = Math.floor(nt / (1000 * 60 * 60 * 24));
st = Math.floor((nt % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
sm = Math.floor(((nt % (1000 * 60 * 60 * 24)) % (1000 * 60 * 60)) / (1000 * 60));
ss = Math.floor((((nt % (1000 * 60 * 60 * 24)) % (1000 * 60 * 60)) % (1000 * 60)) / 1000);
str = sd + ((sd == 1) ? " dag, " : " dage, ") + st + ((st == 1) ? " time, " : " timer, ") + sm + ((sm == 1) ? " minut, og " : " minutter, og ") + ss + ((ss == 1) ? " sekund." : " sekunder.");
getObj("samletop").innerHTML = str;
setTimeout("tael();", 1000);
}

function getObj(id) {
if (document.getElementById)
return document.getElementById(id);
if (document.all)
return document.all[id];
}
</script>
</head>
<body onLoad="tael();">
<h3>Tid fra d. 20/4-2003</h3>
<span id="samletop"></span>
</body>
</html>
Avatar billede roenving Novice
06. juli 2003 - 22:22 #2
En anden indgangsvinkel (jeg har bygget ahv's om til ukendeligehed:

<html><head><script LANGUAGE="javascript" type="text/javascript">
datoop = new Date(2003, 3, 30, 22, 00, 0); // Måneden skal være en mindre
function beregnTid(flt,nyTid) {
if(beregnTid.arguments.length>1){
    y=nyTid.substring(6,10);
    m=parseInt(nyTid.substring(3,5),10)-1;
    d=parseInt(nyTid.substring(0,2),10);
    t=parseInt(nyTid.substring(11,13),10);
    nu = new Date(y,m,d,t,0,0);
}else nu = new Date();
tim = Math.floor((nu.getTime() - datoop.getTime())/(1000*60*60));
d = Math.floor(tim / 24);
t = tim%24;
str = d + ((d == 1) ? " dag, " : " dage og ") + t + ((t == 1) ? " time" : " timer");
document.getElementById(flt).innerHTML = str;
}
</script></head><body onload="beregnTid('forskel');">
<form><h3>Tid fra d. 30/4-2003</h3>
Nu er det <span id="forskel">&nbsp;&nbsp;</span>&nbsp;siden d. 30/4-2003 kl. 22.00<br><br><br>
Indtast selv et tidspunkt, du vil kende forskellen for (DD-MM-ÅÅÅÅ TT.00):
<input type="text" name="nyStart" value="DD-MM-ÅÅÅÅ TT.00" onfocus="if(this.value==this.defaultValue)this.value='';" onblur="if(this.value==''){this.value=this.defaultValue}else{this.form.nyStart2.value=this.value;}">&nbsp;<BUTTON onclick="beregnTid('nyForskel',this.form.nyStart.value);">Beregn</BUTTON><br><br>
D. <input name="nyStart2" type="text" disabled value="DD-MM-ÅÅÅÅ TT.00"> er det <span id="nyForskel">&nbsp;?&nbsp;</span>&nbsp;siden
</form></body></html>

hth
jes
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester