Avatar billede holmsgaarden Nybegynder
25. august 2008 - 10:09 Der er 11 kommentarer og
1 løsning

Hvordan kan man ligge dage til en new Date() funktion med jscript

Hej,

Er der nogle kloge hoveder der ved hvordan jeg kan ligge dage til en dato?

Umiddelbart har jeg prøvet følgende:
<!--
var dato = new Date();
document.write(dato+2);
-->

Men den går ikke..

Jeg har også prøvet at bruge dato.getDay() funktionen og dertil lagt de ekstra dage til, men så risikerer jeg jo at komme til at skrive datoer der ikke findes, f.eks. d. 34/08/2008.

Help?!

Mvh. Peter
Avatar billede mcgoat Nybegynder
25. august 2008 - 10:12 #1
er godt nok med mdr, men mon ikke man kan omskrive det:

document.write('Add 2 months: ')
>             var tmp = Date.add('m',2,d)
>             document.write(tmp)
>             document.write('<br>')
Avatar billede softspot Forsker
25. august 2008 - 10:13 #2
Et døgn er 24 x 60 x 60 x 1000 = 86400000 millisekunder. Med den viden kan du benytte getTime og setTime til at tilføje et døgn til en given dato:

// lægger et døgn til idag.
var dt = new Date();
var nextDay = dt.setTime(dt.getTime() + 86400000);
Avatar billede holmsgaarden Nybegynder
26. august 2008 - 10:23 #3
Tak for svarerne..

mcgoat:
Det kan jeg ikke rigtig få til at virke?

softspot:
Jeg får godt nok returneret en værdi (eks: 1219825349058) ved at lave en doc.write på nextDay - men hvordan får jeg konverteret det til en dato?
Avatar billede holmsgaarden Nybegynder
26. august 2008 - 10:26 #4
Jeg kan også spørge på en anden måde :)

Det jeg skal bruge det til, er at finde ud af hvilken uge der er den indeværende uge, den har jeg løst. Det jeg så skal bruge, er en funktion der finder startdatoen og slutdatoen i indeværende uge. Det er lidt tricky for én som ikke har den vilde erfaring inden for javascript.. :(
Avatar billede softspot Forsker
26. august 2008 - 10:56 #5
Hmm... mon ikke også det bare skulle have været:

// lægger et døgn til idag.
var dt = new Date();
dt.setTime(dt.getTime() + 86400000);

og herefter indeholder dt den nye dato.
Avatar billede holmsgaarden Nybegynder
26. august 2008 - 11:11 #6
Right.. Jeg har også fundet noget på nettet som gør præcist(næsten :D) det jeg vil, tjek her: http://codingforums.com/showthread.php?t=146205

Med lidt tilretninger får jeg det jeg leder efter.. Men smid et svar så får du points..
Avatar billede softspot Forsker
26. august 2008 - 11:16 #7
Kommer her :)
Avatar billede softspot Forsker
27. august 2008 - 12:00 #8
Tak for point :)
Avatar billede holmsgaarden Nybegynder
27. august 2008 - 12:41 #9
No problemo :)
Avatar billede roenving Novice
28. august 2008 - 17:17 #10
-- men javascripts Date-objekt er så viseligt indrettet, at det selv retter tåbelige datoer, så du kan bare sætte en ny dato ved at hente den med getDate(), lægge til og bruge setDate() (faktisk udfører ECMAscript-tingen sandsynligvis det softspot beskriver 25/08-2008 10:13:58 !-)

var minDato = new Date();
alert(minDato);
minDato.setDate(minDato.getDate()+72);
alert(minDato);

-- de 72 er bare valgt for at det skal være tydeligt !o]

-- dette princip virker på alle enkelt-parametre til get og set på Date-objektet, så du kan også lægge 63 måneder eller 715 sekunder til (med get/setMonth og get/setSeconds !-)
Avatar billede holmsgaarden Nybegynder
29. august 2008 - 11:22 #11
ey roenvig, det var da en nyttig oplysning :) Det kan være jeg skriver scriptet om så den benytter denne metode... Er det muligt at tildele flere point? :)
Avatar billede roenving Novice
29. august 2008 - 15:18 #12
Pointene behøver du ikke at bekymre dig om, jeg har da vist så rigeligt af dem, men du kan ikke i dette spørgsmål udlove flere point, da det er lukket ved uddelingen af point; hvis du ønsker det en anden gang må du oprette et 'pointoverførsels'-spørgsmål og henvise til den tråd, pointene kommer fra (husk så i øvrigt, at du ikke må komme til at bruge over 200 point i et spørgsmåls kontekst !-)
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