Bonsoir,
J'ai un problème plutôt hallucinant: J'essaie de faire un calendrier scolaire pour une association ou les parents pourront cocher les jours ou leur(s) enfant(s) iront à la cantine.
J'ai donc suivi le tutoriel "Calendrier" de Grafikart en le modifiant un peu à ma guise... Mais j'ai un bug chelou !
Lorsque j'affiche une première fois, le jour d'une date, il m'affiche le bon chiffre
Par ex : Pour le 1er Septembre il m'affiche 2 pour Mardi
Mais après une transmission de la variable dans un tableau, il me décale de 2 ce jour !
Pour le 1er Septembre il m'affiche 4 pour Mercredi
BUG ou PAS BUG selon vous ? Dans les deux cas, n'hésitez pas à répondre ;)
Voici mon script :
function maFonction(){
$year1 = '2015';
$year2 = '2016';
$date = new \DateTime($year1.'-09-01');
while($date->format('m') <= '08' || $date->format('Y') <= $year2){
$m = $date->format('m');
$d = $date->format('d');
$w = $date->format('w');
// M'affiche 02 (Mardi) pour le 1er septembre 2015 par ex
var_dump($w);
$c[$m][$d] = $w;
$date->add(new \DateInterval('P1D'));
}
return $c;
}
// BUUUG ! M'affiche 04 (Jeudi) pour le 1er septembre 2015
var_dump($c);
ton second var_dump étant hors de la boucle il va t'afficher le dernier jour qu'il a trouvé, donc (Jeudi) pour le 1er septembre 2016
Désolé du double post mais tu as raison Grafikart O_o.
Après avoir lu et relu ton post, il semble me prendre le septembre de 2016 et non de 2015 !
Du coup il me met 4.
Mais je ne comprends pas alors pourquoi est stocké le 4 (Jeudi) de 2016 alors que dans la boucle, quand je var_dump($w); il me met bien le 2.
Comment éviter cela ?
EDIT : En imprimant toute les dates de mon calendrier, j'ai remarqué que mon calendrier s'arrêtait en 2017 et non en 2016.
L'année 2016 réecrivait par dessus l'année 2015
Problème résolu.
Merci :)