Hade (återigen) inget direkt för mig så skrev ihop en liten funktion som klarade av de småtester jag gjorde. Finns säkert snabbare och effektivare sätta tt göra det på, kanske till och med finns en phpfunktion för det redan, men här är min lösning:
<?php
function getMondayFromWeek($week="")
{
if (strlen($week) < 1){
return "ERROR";
}
$days = $week * 7;
$days = $days - 10; // fråga mig inte varför, men utan denna funkar det inte
$tsFirst = mktime(0,0,0,1,1,date("Y", time()));
return strtotime("+".$days." day", $tsFirst);
}
echo(date("Y-m-d",getMondayFromWeek(23)));
?>
Principen är att man räknar ut hur många dagar som passerat under dessa x veckor. Sedan mha mktime skapas ett timestamp som representerar den första dagen detta året, och sedan med dessa dagar och den startpunkten, använder man strtotime och plussar på så många dagar till startdatumet, och får fram en ny timestamp som pekar på första måndagen i den veckan.
Alla veckonummer som jag slängde på den klarade den men eftersom jag måste subrahera med 10 och jag inte vet varför, så känns det som att den här funktionen inte är helt... klar för bruk på en produktionsserver... skall testa lite mer, någon annan får gärna komma med åsikter och tankar eller förbättra den.
MVH Patrik


