Mailinglisten-Archive |
Ringo Großer wrote: > hol dir den wochentag des 4. januar > > date('w',strtotime('2004-04-01'); > > und falls das nicht schon der montag (1) ist > mach aus dem datum einen time wert, und zieh die differenz bis zum vorigen > montag in sekunden ab. dann aus dem time wert wieder ein datum machen. Ja, so ähnlich versuche ich das auch, aber irgendwo muss der Fehler stecken. Vielleicht siehst Du ihn ja auf Anhieb? $ja = mktime(1,1,1,1,1,$jahr); //ja = jahresAnfang $wtja = date("w", $ja); //wt = wochenTag $wtja = ($wtja == 0) ? 7 : $wtja; //wtja = wochenTag jahresAnfang switch ($wtja) { case 1: $offset = 0; //offset zum Montag break; case 2: $offset = -1; break; case 3: $offset = -2; break; case 4: $offset = -3; break; case 5: $offset = 3; break; case 6: $offset = 2; break; case 7: $offset = 1; break; } if ($offset < 0) { //Montag liegt im Vorjahr $mt = 12; $dt = 31+$offset; $ja = $jahr-1; } else { $mt = 1; $dt = (1+$offset)+7*($kw-1); $ja = $jahr; } $startdatum = mktime(1,1,1,$mt,$dt,$ja); $enddatum = mktime(1,1,1,$mt,$dt+6,$ja); > details findest du in den datumsfunktionen im handbuch. > http://de3.php.net/manual/en/ref.datetime.php Ja, das war mir bekannt. > regards, Ringo Danke schonmal, André
php::bar PHP Wiki - Listenarchive