Goedenmiddag,

Ik heb al een tijdje zitten proberen en zoeken, hoe ik aan de hand van een gegeven weeknummer en jaartal de begindatum van die week kan bepalen.
Iemand enig idee hoe ik dit op kan lossen?

[edit]Stel dan in dit geval dat de week op maandag begint.[/edit]
Dit doet me denken aan een oude schoolopdracht van mij, lijkt mij trouwens dat je het gewoon kan oplossen met date() en mktime(). [edit] Als je er niet uitkomt, heb ik nog wel een voorbeeld voor je hoe je in java kunt kijken of een bepaalde datum een zondag is, zonder gebruik van andere functies. Daaruit zou je jouw probleem ook kunnen oplossen[/edit]
er is geloof ik een functie voor.. ik zal proberen maandag te kijken ;)
@Crispijn: beetje uitgebreid he voor iets dat ook in 2 regels kan. De php functie strtotime doet hier wonderen...
<?php
$jaar = 2007;
$week = 46;

$timestamp = strtotime($jaar.'0104 + '.($week-1).' weeks');
echo date('d-m-Y', strtotime('last monday', $timestamp));
?>
@Blanche heel erg bedankt, het werkt perfect.
Maar om het nu nog te snappen: Wat houd die '0104' precies in?
Dat is het laatste deel van de datum: 20070104. Ik gebruik telkens 4 januari in het betreffende jaar omdat die datum altijd in week 1 valt.

Vervolgens tel ik daar het aantal weken (== weeknummer - 1) bij op, om de betreffende datum te krijgen. Vervolgens bepaal ik met behulp van de verkregen de datum, de voorgaande maandag.
Bedankt, ik snap het nu.
Ik zat alleen met het eerste stukje, de rest was me al duidelijk.
@Blanche:

Ik zei ook niet dat je het hele script moest gebruiken. Ik wilde meer laten inzien hoe het werkt door de ts zelf te laten zoeken. Er staat in dat script voldoende commentaar om dat te vinden...

@Robert:
Top dat je 't werkend hebt
Ik betwijfel of de TS er met behulp van dat script uit zou komen. Allereerst wordt een geen enkele keer gebruik gemaakt van strtotime(). Daarnaast vraag het gebruik van een weeknummer (dat eigenlijk een heel vreemd gegeven is) een vrij specifieke aanpak. Ook die vind ik daar in niet terug.

Maar goed, TS is eruit en daar gaat het om...

Reageren