Du kommer ofte til at støde ind i det problem, at php er fejlagtig omkring understøttelse af danske ugenumre. Derfor har jeg skrevet følgende rutine til at klare ærterne:
<code>
function ISOWeek($y, $m, $d)
{
$week=strftime("%W", mktime(0, 0, 0, $m, $d, $y));
$dow0101=getdate(mktime(0, 0, 0, 1, 1, $y));
$next0101=getdate(mktime(0, 0, 0, 1, 1, $y+1));
if ($dow0101["wday"]>1 && $dow0101["wday"]<5)
$week++;
if ($next0101["wday"]>1 && $next0101["wday"]<5 && $week==53)
$week=1;
if ($week==0)
$week=ISOWeek($y-1,12,31);
return(substr("00" . $week, -2));
}
</code>
Rutinen skal fodres med år, måned og dag og returnerer ugenummeret to-cifret.