On Mon, 9 Dec 2002 22:02:39 +0100, "Martin Kjelsmark Larsen"
<martin@kjelsmark.dk> wrote:
>Jeg er interesseret i dynamisk at finde startdatoen fra nogle bestemte uge
>numre... Hvordan kan jeg lettest gøre dette?
Der er - svjv - ikke nogen direkte metode. Start med en (tilfældig)
dato i det år, du ønsker at finde ugen i. Find mandagen i denne
tilfældige uge. Læg det nødvendige antal uger til.
Ex:
<%
Function FindMondayInWeek(ugenummer, aar)
' Det antages at man bruger mandag som første ugedag
' og at uge 1 er den første uge med mindst 4 dage i det nye år
' Tag en tilfældig dato i det ønskede år
datStartDate = DateSerial(aar, 1, 15)
' Find mandag i "ugen"
datStartDate = DateAdd("d", 1 - Weekday(datStartDate, 2),
datStartDate)
' Find ugenummer for den korrigerede tilfældige dato
intUgenr = DatePart("ww", datStartDate, 2, 2)
' Find den ønskede dato ved at lægge 'uge-forskellen' til
datDateWanted = DateAdd("ww", ugenummer - intUgenr, datStartDate)
FindMondayInWeek = datDateWanted
End Function
%>
Bruges således:
<%
intWeekNumber = 50
lngYear = 2002
Response.Write "Week: " & intWeekNumber & "<br>" & vbcrlf
Response.Write "Year: " & lngYear & "<br>" & vbcrlf
Response.Write FindMondayInWeek(intWeekNumber, lngYear) & "<br>" &
vbcrlf
%>
Det kan sikkert optimeres en del, ligesom den inkonsekvente brug af
dansk og engelsk også kan forbedres ...
Ligeledes må man også afgøre, om det fx skal være muligt at ønske uge
77 i år 2003 etc. - prøv
Good luck!
--
Jørn Andersen,
Brønshøj