hab versuchte die untere version anzupassen (mein versuch oben), leider ist ne endlosschleife rausgeworden, weiß nur nicht warum.
die ursprüngliche version hatte den bug das der erste montag im jahr immer der .1.1. war
leider isses mir nicht gelungen das zu probelm zulösen
die ursprüngliche version hatte den bug das der erste montag im jahr immer der .1.1. war
leider isses mir nicht gelungen das zu probelm zulösen
PHP-Code:
<?php
#############
function get_monday_of_week($kw,$year = false)
{
if ($year == false) $year = date("Y");
if ($kw < 0 || $kw > 53) return false;
$dayofweek = (intval(date("w",mktime(0,0,0,1,1,$year))) == 0) ? 7 : intval(date("w",mktime(0,0,0,1,1,$year)));
$dayofyear = 7*($kw-2)+(9-$dayofweek);
$days = 0;
$i = 1;
while (true) {
if ($days+date('t',mktime(0,0,0,$i,1,$year)) < $dayofyear) {
$days += date('t',mktime(0,0,0,$i++,1,$year));
} else {
if($dayofyear-$days < 1) {
//$datum = 1; //kein montag
}else{
return $datum = ($dayofyear-$days).".".($i).".$year";
}
}
}
}
#############
function get_monday_of_week($kw,$year = false) {
if ($year == false) $year = date("Y");
if ($kw < 0 || $kw > 53) return false;
$dayofweek = (intval(date("w",mktime(0,0,0,1,1,$year))) == 0) ? 7 : intval(date("w",mktime(0,0,0,1,1,$year)));
$dayofyear = 7*($kw-2)+(9-$dayofweek);
$days = 0;
$i = 1;
while (true) {
if ($days+date('t',mktime(0,0,0,$i,1,$year)) < $dayofyear) {
$days += date('t',mktime(0,0,0,$i++,1,$year));
} else {
return $datum = (($dayofyear-$days < 1) ? 1 : ($dayofyear-$days)).".".($i).".$year";
}
}
}
?>
Kommentar