Den simple løsning må være at 'google' uge 34 ,og derved få en kalender for hele året. Men det er vel ikke noget så simpelt du søger ?
Synes godt om
Slettet bruger
27. august 2011 - 22:06#2
Ugenumre afhænger af hvilket land du er interesseret i (og i nogle tilfælde hvilken årgang). Nogle uger starter f.eks. med søndag, mens andre starter med mandag. Årets første uge afhænger f.eks. af hvilken uge der har den første mandag eller torsdag. I Danmark bruger vi mandag som ugens første dag (men før 1973 var ugens første dag en søndag), og årets første uge er den uge som indeholder årets første torsdag.
Hvis vi antager du har en dato i den uge, hvor du vil finde datoerne for mandag og søndag (i Danmark efter 1973), så kan du f.eks. bruge DateTime.AddDays(-1) i et loop indtil du har fundet DayOfWeek == Monday, og så lægge 6 dage til for at finde datoen for søndag.
Hvis du kun kender ugenummer + år, så ved jeg ikke om der er en nem måde at sætte en dato i denne uge, ellers er du nødt til at loope igennem ugerne indtil du er i den rigtige uge i det rigtige år. Calendar kan fortælle dig hvilken uge en bestemt dato ligger i, med regler for hvilken dag der er den første ugedag og hvilken ugedag der er i årets første uge.
Function UgeTilDato(aar,uge,dag) januar1 = DateSerial(aar, 1, 1) ugedagjan1 = Weekday(januar1, vbMonday) if ugedagjan1 <= 4 then ' 1. januar er i uge 1 mandaguge1 = DateAdd("d", -ugedagjan1+1, januar1) else ' 1. januar er i sidste uge foregående år mandaguge1 = DateAdd("d", 7-ugedagjan1+1, januar1) end if
mandagugex = DateAdd("ww", uge-1, mandaguge1) xdagugex = DateAdd("d", dag-1, mandagugex) UgeTilDato = xdagugex End Function
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.