Mailinglisten-Archive |
Frohe Ostern! Ich habe eine Funktion (http://lists.mushaake.org/pipermail/php/Week-of-Mon-20050207/ 016001.html) im Internet gefunden um von der Kalenderwoche wieder zum Datum zurück zu kommen. 1> function getDateFromKw ($kw,$jahr) { 2> $tstp=mktime(0,0,0,1,$kw*7,$jahr); 3> $kw2=date(W,$tstp); 4> if ($kw2!=$kw) $tstp=mktime(0,0,0,1,--$kw*7,$jahr); 5> $wt=date(w,$tstp); 6> if (--$wt==-1) $wt=6; 7> return date("Y-m-d",$tstp-$wt*86400); 8> } Prinzipiell funktioniert das so lange ich nicht über oder unter die Anzahl an regulären KW. gehe. Sprich: getDateFromKw(1, 2005) ist Richtig aber getDateFromKw(-1, 2005), getDateFromKw(0, 2005) oder getDateFromKw(53, 2005) ist Falsch. Dieses Falsche Ergebnis zieht sich dann durch, also sprich der Versatz wird weiter durchgereicht (53, 54 oder eben -2, -3). Wenn ich nun die Zeile 4 rausschmeisse funktioniert es aber. Was hat dieses if für einen sinn (wenn kw1 nicht gleich kw2 ist dann ziehe eine Woche ab und bau mir daraus den TimeStamp neu) wenn es anders anscheinend richtiger ist. Gruß Aron
php::bar PHP Wiki - Listenarchive