Avatar billede renekoemler Nybegynder
28. oktober 2006 - 13:46 Der er 4 kommentarer og
1 løsning

Angivelse af tocifret data

Hej,

Jeg har brug for at få angivet en dato (og timer og minutter) med to cifre.

Funktionen .getDate returnerer datoer der er mindre end 10 med et ciffer og jeg har prøvet følgende med et dårligt resultat:


var now = new Date();
   
    var a_dato = now.getDate()
    if (a_dato < 10)
    {
    var dato = '0' + a_dato 
    }
    else
    {
    var dato = a_dato
    }

Hvad mangler jeg for at få den til at sætte '0' foran datoer (timer og minutter) der er mindre end 10?

Bedste hilsner
René
Avatar billede psykochicken Nybegynder
28. oktober 2006 - 16:29 #1
Her er lidt at lege med:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Time</title>
<script type="text/javascript">
function startTime(){
var day = new Date()
var YY  = day.getYear()
var MM  = day.getMonth()
var DD  = day.getDay()
var hh  = day.getHours()
var mm  = day.getMinutes()
var ss  = day.getSeconds()

var month=new Array()
month[0]="Januar"
month[1]="Februar"
month[2]="Marts"
month[3]="April"
month[4]="Maj"
month[5]="Juni"
month[6]="Juli"
month[7]="August"
month[8]="September"
month[9]="Oktober"
month[10]="November"
month[11]="December"

h=checkTime(hh);
m=checkTime(mm);
s=checkTime(ss);

document.getElementById('txt').firstChild.nodeValue= DD + ". " + month[MM] + " " + YY + " kl. " + h + ":" + m + ":" + s;
document.getElementById('txt2').firstChild.nodeValue= DD + "/" + (MM+1) + "-" + YY + " kl. " + h + ":" + m + ":" + s;
t=setTimeout('startTime()',500)
}

function checkTime(i){
  if (i<10){i="0" + i}
  return i
}

window.onload=startTime;
</script>
</head>
<body>
<div id="txt" type="text" size="20">&nbsp;</div>
<div id="txt2" type="text" size="20">&nbsp;</div>
</body>
</html>

/psc
Avatar billede renekoemler Nybegynder
28. oktober 2006 - 17:06 #2
Tak for "tilsendte" - har dog lige fundet fejlen....med smid et svar for points anyway
Avatar billede jhe-ting Nybegynder
28. oktober 2006 - 17:29 #3
Hej René.
Er dette den rettelse du skulle lave:

var now = new Date();
var dato;   
    var a_dato = now.getDate()
    if (a_dato < 10)
    {
    dato = '0' + a_dato 
    }
    else
    {
    dato = a_dato
    }
?
En god ting ville være at vise hvilken løsning du fandt.

Venlig hilsen
JHe
Avatar billede psykochicken Nybegynder
28. oktober 2006 - 17:38 #4
..så behold bare pointene til en anden god gang ;o)

/psc
Avatar billede renekoemler Nybegynder
29. oktober 2006 - 10:59 #5
Løsning der var skitseret virkede faktisk.

Men fejlen lå i den måde jeg vist resultatet på.

Jeg havde lavet en VAR der så således ud:

dato + timer + minutter, så istedet for at skrive fx. 260955 (datoTIMERminutter) skrev den 90 (altså det jeg havde skrevet i VAR definitionen 26+9+55.

Opgaven bestor i at test om den angive tid var Dansk Normal Tid eller dansk Sommer tid. Jeg testede på forkellen mellem now.getHours() og now.getUTChours()....og så skulle den kunne fortælle mig om det var Alfa (DNT) eller Bravo (DST) i en såkaldt datotidsgruppe: 291100 A OKT 2006 (eksepelvis)
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