07. september 2001 - 11:02
Der er
16 kommentarer og 1 løsning
Tilføj dag til dato
Hvordan tilføjer man en dag til en dato i javascript? Jeg har forsøgt med nedenstående, men gir også dato som ikke eksisterer: f.eks. 31-09-2001 :-( var _D = new Date(<%=jsYear%>,<%=jsMonth%>,<%=jsDay%>,0,0,0,0); var _d = 1000 * 60 * 60 * 24; function moveDate(_v) { if(_v) { _D.setTime(_D.getTime() - _d); } else { _D.setTime(_D.getTime() + _d); } document.tid.dato.value=showDate(_D); document.tid.submit(); } nogen gode ideer?
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
07. september 2001 - 11:10
#1
<script language=\"JavaScript\"> dato=new Date(); dag=dato.getDay(); ugedag=new Array(\"søndag\",\"mandag\",\"tirsdag\",\"onsdag\",\"torsdag\",\"fredag\",\"lørdag\"); document.write(ugedag[dag]); </script>
07. september 2001 - 11:15
#2
Hej podata Når jeg skriver tilføjer en dag til en dato, mener jeg: dag + dato = ny dato
07. september 2001 - 11:17
#3
Prøv med getMilliseconds og setMilliseconds i stedet for setTime og getTime. hth jes
07. september 2001 - 11:20
#4
OK...
07. september 2001 - 11:21
#5
Hej jes Det giver ikke nogen forskel.
07. september 2001 - 11:37
#6
Årh ... Har du sørget for, at din showDate-funktion tager højde for at måneder i Javascript er med base 0 altså at januar er måned 0 og december er måned 11 !! Den klarede helt umulige ting, da jeg prøvede, den kunne f.eks. oversætte 2001,1,30 osv. - 1 dag = 1/3, -1 dag mere 28/2 Det må være det. mvh jes
07. september 2001 - 11:42
#7
Her er showdate-funktionen: function showDate(_day) { var newday = _day.getDate(); var newmonth = _day.getMonth(); if(newday == 1 || newday == 2 || newday == 3 || newday == 4 || newday == 5 || newday == 6 || newday == 7 || newday == 8 || newday == 9){ newday = \"0\"+newday; } if(newmonth == 1 || newmonth == 2 || newmonth == 3 || newmonth == 4 || newmonth == 5 || newmonth == 6 || newmonth == 7 || newmonth == 8 || newmonth == 9){ newmonth = \"0\"+newmonth; } var _return =\"\"; _return+=newday; _return+=\"-\"+newmonth; _return+=\"-\"+_day.getYear(); return(_return); }
07. september 2001 - 11:44
#8
Det skal du lave om til: var newmonth = _day.getMonth()+1;
07. september 2001 - 11:47
#9
Vil det iøvrigt ikke blive mere overskueligt, hvis du laver din +0-if\'s om: IKKE if(newday == 1 || newday == 2 || newday == 3 || newday == 4 || newday == 5 || newday == 6 || newday == 7 || newday == 8 || newday == 9){ newday = \"0\"+newday; } Men if(newday<10)newday = \"0\"+newday; mvh jes
07. september 2001 - 11:47
#10
Det går da vist ikke
07. september 2001 - 12:34
#11
var _D = new Date(<%=jsYear%>,<%=jsMonth%>,<%=jsDay%>,0,0,0,0); var _d = 1000 * 60 * 60 * 24; function moveDate(_v) { if(_v) { _D = new Date( _D.valueOf() - _d ); } else { _D = new Date( _D.valueOf() + _d ); } document.tid.dato.value=showDate(_D); document.tid.submit(); } PS: Prø at undgå variabelnavne der starter med _ De er lovligem men især Netscape bryder sig ikke meget om dem og kan give problemer. mvh JakobA
07. september 2001 - 13:22
#12
Hey JakobA Ovenstående giver ingen forskel. Hvis jeg ligger en dag til d. 30-09-2001, så for jeg den 31.09.2001 - og det er skidt!
07. september 2001 - 13:24
#13
det er stadig fordi den måned, som har nummer 9 er oktober!
07. september 2001 - 13:34
#14
ahhh...nu er jeg med
07. september 2001 - 13:41
#15
var newmonth = _day.getMonth()+1;
07. september 2001 - 13:42
#16
>>jakoba Du er altså lidt langsom i dag: 07/09 2001 11:44:54 *GG*
07. september 2001 - 13:45
#17
>> tydeligvis. :-))
Vi tilbyder markedets bedste kurser inden for webudvikling