26. august 2010 - 09:33Der er
9 kommentarer og 1 løsning
liste med ALLE uger i et år
Hej
Jeg vil gerne lave en liste med alle uger på et bestemt år. Antal uger findes med: $t = mktime(12,0,0,12,31,$aar); $antal_uger = date("W",$t); if ($antal_uger==1) $antal_uger=52;
Men i nogle år tilhører de første dage i året uge53(fra sidste år), men disse dage hører faktisk til på kalenderen over året jeg ønsker at se. I 2010 er 1/2/3 januar i uge53. Så for 2010 bliver ugelisten : 53, 1,2...., 52
Hvordan laver jeg sådan noget ? Jeg har kikket her på eksperten, men kan ikke finde noget, der kan bringe mig videre, derfor spørgsmål.
Så vidt jeg kan se, med mit sidste forslag stemmer det fint overens med det link du selv sammenligner med - første uge i 2013 er uge 1, sidste uge er også uge 1. Samme gør sig gældende for år 2014.
Dit andet forslag er næsten rigtigt, men 31/12 2012 tilhører uge 1, og uge 1 kommer ikke med i listen. Det er noget med de 7 dage du ligger til, den holder ikke m.h.t. den sidste uge ?
Efter at have undersøgt det lidt nærmere, finder jeg ud af at grunden til at mit andet kodeeksempel ikke virker korrekt er grundet en dokumenteret bug (som kan forefindes her: http://bugs.php.net/33957 ) som påvirker en række forskellige årstal.
Det kan være det er fikset i den næste stable, men det er godt hvis du har fundet et workaround indtil da.
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.