je me permets de vous solliciter car j'ai du mal à comprendre la logique de la fonction date en PHP, notamment pour ce qui est du numéro du jour de la semaine : date('w')
Si j'ai bien compris, les valeurs vont de 0 (dimanche) à 6 : Donc lundi = 1 par exemple.
Donc le début de la semaine semble être le dimanche ?
Mais dans ce cas, pourquoi aller de 0 à 6 au lieu d'aller de 1 à 7 ?
Parce que du coup, la valeur de dimanche, zéro, est une valeur nulle... ça n'est pas très pratique...
C'est un peu comme si on disait que Janvier était égal à zero, et décembre à 11
Mais en creusant un peu plus, je lis que : date('W') : Numéro de semaine dans l'année (les semaines commencent le lundi) (Exemple : 42 (la 42éme semaine de l'année)
Puis j'ai aussi trouvé : date('N') : Représente le jour de la semaine en chiffre au format ISO-8601 (lundi = 1, dimanche = 7)
Bon, finalement, on fait comme on veut ?
Par convention, le premier jour d'une semaine c'est dimanche ou lundi ?
Parce que ça change un peu la façon de compter les semaines dans un mois cette histoire au final... surtout quand on bosse sur un calendrier de rdvs...
Dans mon cas, j'ai essayé de mettre un numéro sur chaque semaine d'un mois :
Code : Tout sélectionner
$week = (int) ((date('d', $now) - 1) / 7) + 1;
$weekday = date("N", $now);
$weekday_letter = date("l", $now);
Code : Tout sélectionner
echo "".$nowString." (".$weekday_letter.")<br />";
echo "Numéro Semaine du mois : ".$week."<br />";
echo "Numéro Jour de la semaine : ".$weekday."<br />";
2021-08-15 (Sunday)
Numéro Semaine du mois : 3
Numéro Jour de la semaine : 7
2021-08-16 (Monday)
Numéro Semaine du mois : 3
Numéro Jour de la semaine : 1
>> le dimanche, qui est le premier jour de la semaine numéro 3, se retrouve appelé le jour 7, et le lundi qui est le 2e jour de la semaine 3 et le jour 1
Alors c'est vrai que je peux faire des adaptations pour que mes valeurs soient plus censées... mais je me dis qu'il y a surement une approche plus logique et naturelle pour retomber sur mes pattes... non ?