phpbar.de logo

Mailinglisten-Archive

[php] von der Kalenderwoche zum Datum

[php] von der Kalenderwoche zum Datum

Aron Schlesinger aron at viplocations.de
Mon Mar 28 00:33:42 CEST 2005


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