par
rakizm » 18 janv. 2007, 14:18
Ah tien ça c pas bete d'y avoir pensé.
Maintenant voilà ce ke g fait avec ce que tu m'a donné
function debutsem($n,$year){
if ($n == 1)
$timesp=(strtotime("01 january $year"));
if ($n == 2)
$timesp=(strtotime("01 january $year +1 week"));
else
$timesp=(strtotime("01 january $year +($n-1) weeks"));
setlocale(LC_TIME, "fr");
$datedeb = strftime("$year-%m-%d ",$timesp);
$jour_debut=date("w",mktime(0,0,0,substr($datedeb,5,2),substr($datedeb,8,2),substr($datedeb,0,4)));
if ($jour_debut == 0)
$datedeb=date("Y-m-d",mktime(0,0,0,substr($datedeb,5,2),substr($datedeb,8,2) +1 ,substr($datedeb,0,4)));
if ($jour_debut == 6)
$datedeb=date("Y-m-d",mktime(0,0,0,substr($datedeb,5,2),substr($datedeb,8,2) +2 ,substr($datedeb,0,4)));
return $datedeb;
}
pourriez vous y jetter un coup d'oeil et me dire ce ke je pourrai changer.
Parceque ça ne marche pas pour des $n>2.
PS: l'idée pour trouver la date du début de semaine c'est de prendre le 01/01/$year et de rajouter ($n numéro de semaine) -1 puisque la première semaine c déjà 1.
Ah tien ça c pas bete d'y avoir pensé.
Maintenant voilà ce ke g fait avec ce que tu m'a donné
[php]
function debutsem($n,$year){
if ($n == 1)
$timesp=(strtotime("01 january $year"));
if ($n == 2)
$timesp=(strtotime("01 january $year +1 week"));
else
$timesp=(strtotime("01 january $year +($n-1) weeks"));
setlocale(LC_TIME, "fr");
$datedeb = strftime("$year-%m-%d ",$timesp);
$jour_debut=date("w",mktime(0,0,0,substr($datedeb,5,2),substr($datedeb,8,2),substr($datedeb,0,4)));
if ($jour_debut == 0)
$datedeb=date("Y-m-d",mktime(0,0,0,substr($datedeb,5,2),substr($datedeb,8,2) +1 ,substr($datedeb,0,4)));
if ($jour_debut == 6)
$datedeb=date("Y-m-d",mktime(0,0,0,substr($datedeb,5,2),substr($datedeb,8,2) +2 ,substr($datedeb,0,4)));
return $datedeb;
}
[/php]
pourriez vous y jetter un coup d'oeil et me dire ce ke je pourrai changer.
Parceque ça ne marche pas pour des $n>2.
PS: l'idée pour trouver la date du début de semaine c'est de prendre le 01/01/$year et de rajouter ($n numéro de semaine) -1 puisque la première semaine c déjà 1.