Hallo miteinander
Ich möchte den Monat anhand einer Kalenderwoche und eines Jahres ermitteln.
Dazu habe ich folgendes Skript verwendet: (Kennen sicher einige von euch)
Zu meinem Problem:
Wenn ich die Kalenderwoche 1 und das Jahr 2005 in die Funktion gebe, bekomme ich auch das richtige Resultat. Bei KW 1 und Jahr 2004 allerdings nicht..
date('m',mondaykw(1,2004)) => 12
date('m',mondaykw(1,2005)) => 01
Woran liegt das? Was mach ich falsch?
Danke im Vorraus!
Gruss Michi
Ich möchte den Monat anhand einer Kalenderwoche und eines Jahres ermitteln.
Dazu habe ich folgendes Skript verwendet: (Kennen sicher einige von euch)
Code:
function firstkw($jahr) {
$erster = mktime(0,0,0,1,1,$jahr);
$wtag = date('w',$erster);
if ($wtag <= 4) {
// Donnerstag oder kleiner: auf den Montag zurückrechnen.
$montag = mktime(0,0,0,1,1-($wtag-1),$jahr);
//echo $wtag." => ".$montag." ¬";
} else {
// auf den Montag nach vorne rechnen.
$montag = mktime(0,0,0,1,1+(7-$wtag+1),$jahr);
}
return $montag;
}
function mondaykw($kw,$jahr) {
$firstmonday = firstkw($jahr);
$mon_monat = date('m',$firstmonday);
$mon_jahr = date('Y',$firstmonday);
$mon_tage = date('d',$firstmonday);
$tage = ($kw-1)*7;
$mondaykw = mktime(0,0,0,$mon_monat,$mon_tage+$tage,$mon_jahr);
return $mondaykw;
}
Zu meinem Problem:
Wenn ich die Kalenderwoche 1 und das Jahr 2005 in die Funktion gebe, bekomme ich auch das richtige Resultat. Bei KW 1 und Jahr 2004 allerdings nicht..
date('m',mondaykw(1,2004)) => 12
date('m',mondaykw(1,2005)) => 01
Woran liegt das? Was mach ich falsch?

Danke im Vorraus!
Gruss Michi