15. oktober 2005 - 23:46Der er
12 kommentarer og 1 løsning
Hvordan finder man dato'er i en bestemt uge?
Hejsa.
Håber en kan hjælpe.
Jeg har brug for at finde dato'er i en bestemt uge.
F.eks. uge 44.
Der har jeg brug for et script som ud fra en variabel der kunne hedde "week" og være sat til "44" kunne beregne dato'er som er i denne uge, og så sætte disse informationer ind i 7 andre variabler. En for hver dag. F.eks.
Jeps.... Det var lige det jeg manglede. Jeg forstår ikke helt denne del af scriptet :
d = CDate("1-Jan-" & y) While DatePart("ww", d, vbMonday, vbFirstFourDays) > 1 d = d + 1 Wend While DatePart("ww", d, vbMonday, vbFirstFourDays) < w d = d + 1 Wend
Jeg er godt klar over at man finder ugenummeret med : DatePart("ww", d, vbMonday, vbFirstFourDays)
Men resten er lidt forvirrende... Hvis du hurtigt kan forklare hvad de forskellige ting gør ville det være supert! (Det er altid rart at forstå de koder man benytter sig af!!!)
Ok. Jeg har nu sidder og leget lidt med den som arne gav... Det er sikkert mig, som laver en dum fejl, men burde følgende ikke virke?
y = 2005 w = request.querystring("uge") d = CDate("1-Jan-" & y) While DatePart("ww", d, vbMonday, vbFirstFourDays) > 1 d = d + 1 Wend While DatePart("ww", d, vbMonday, vbFirstFourDays) < w d = d + 1 Wend Mandag = CStr(d) d = d + 1 Tirsdag = CStr(d) d = d + 1 Onsdag = CStr(d) d = d + 1 Torsdag = CStr(d) d = d + 1 Fredag = CStr(d) d = d + 1 Lordag = CStr(d) d = d + 1 Sondag = CStr(d)
Hvis jeg sætter w = 44, så virker det hele fint. Men hvis jeg kalder min side med ?uge=45 og så overstående kode, så virker det ikke.
Dvs. det er som om mit script kører fast, eller i ring. Jeg har nu 2 gange oplevet at den kommer efter virkelig lang tid, men at den så sætter dato'erne til 01-01-2005, 02-01-2005 osv...
Den er dog "farlig" idet der sker en kørselsfejl hvis der ikke er specificeret en uge. Så du skal finde ud af hvad der skal ske hvis man ikke specificerer en uge, f.eks. default til aktuelle uge, eller vise en fejl.
Default til aktuelle uge ville se således ud:
if (request.querystring("uge") & "") <> "" then if isNumeric(request.querystring("uge")) then w = cint(request.querystring("uge")) else w = DatePart("ww", now, vbMonday, vbFirstFourDays) end if else w = DatePart("ww", now, vbMonday, vbFirstFourDays) end if
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.