problème mktime

lanthroff
Invité n'ayant pas de compte PHPfrance

14 juin 2013, 02:51

Salut, alors j'ai un petit problème je suis en train de faire un calendrier en php.
Pour ce faire j'ai fait le tour des fonctions mktime() et date();
J'ai juste 1 problème de taille sur certain mois le code suivant ne marche pas du tout :

Code : Tout sélectionner

$firstday=date("N", mktime(0, 0, 0, 08, 1, 2013)); echo $firstday;
Ça me renvoi 6 soit samedi sauf que dommage le premier jour en août 2013 c'est un jeudi donc je devrait avoir un 4
Alors que pour le moi de juin et juillet ça donne le bon jour du coup je vient seulement de m'en rendre compte en essayant d'autres mois.
Je ne comprend pas du tout d'ou peu venir le problème, un peu d'aide ne serai pas de trop :)

Eléphant du PHP | 170 Messages

14 juin 2013, 05:35

Bonjour,

En PHP (et dans d'autres langages) un nombre qui commence par un 0 (zéro) est considéré comme exprimé dans le système octal.

de 01 à 07 tout va bien, octal et décimal correspondent.
08 et 09 n'existent pas => PHP renvoie 0.
010 -> 8
011 -> 9
012 -> 10

ce n'est donc pas le mois 8 (août) qui est envoyé mais 0 (décembre de l'année précédente)

... et le 01/12/2012 est un samedi.

cqfd :wink:

lanthroff
Invité n'ayant pas de compte PHPfrance

14 juin 2013, 11:56

ah super, merci beaucoup.