23. august 2001 - 22:56Der er
8 kommentarer og 1 løsning
Læg antal dage til en dato i javascript
Hej
Hvordan lægger man dage til en dato i javascript F.eks. myDate = \"01-01-2001\"; Det jeg så gerne vil er at lægge f.eks. 5 dage til datoen. myDate = myDate+5;
Men den holder jo ingen steder - så hvordan gør man? Er det noget med at man skal konverterer \"myDate\" til datoformat eller hvordan?
Bemærk venligst at myDate ikke er lige med Date(), da hvis det var tilfældet var det ikke noget problem at lægge ekstra dage til.
Du klarer det nemmest ved at bruge et Date-object:
myDate = new Date(); myDate.setTime(2001,01,01);//jeg har ikke den fulde reference på mig, men den zq vist du dageTil = 5; mSecs = myDate.getMilliseconds(); myDate.setMilliseconds(mSecs+(dageTil*24*60*60*1000)); return myDate.getDate;
Nu kan jeg jo godt lide get/setMilliseconds, og det er en absolut angivelse, som der kan regnes på ;-)
Det er vel også det du får tilbage (Jeg har ikke lige referencen, så jeg checker lige om lidt):
function addDays(y,m,d,ad){ myDate = new Date(); myDate.setTime(y,m,d);//jeg har ikke den fulde reference på mig, men den zq vist du dageTil = ad; mSecs = myDate.getMilliseconds(); myDate.setMilliseconds(mSecs+(dageTil*24*60*60*1000)); return myDate.getDate(); }
så skulle du gerne få en d. 6/1-2001 tilbage (i et eller andet format), hvis du kaldte den med addDays(2001,1,1,5)
Yeah, man ... Af en eller anden grund er månedernes navne indekseret fra 0 (som alt andet i javascript faktisk), så du må nok konvertere, eller lave date-constructor-kaldet om til:
myDate = new Date(y,m+1,d); hth jes
Synes godt om
Ny brugerNybegynder
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.