JeuWeb - Crée ton jeu par navigateur

Version complète : Problème de calendrier
Vous consultez actuellement la version basse qualité d’un document. Voir la version complète avec le bon formatage.
Bonjour j'ai quelque problème pour créer un calendrier .::.
Cette fonction devrait me donner le numéro du jour dans la semaine à l'aide de son timetamp. Pour ce paramètre j'ai mis le timestamp du 1er d'un certain mois d'une certaine année.
Code PHP :
<?php 
$premier
= date('w', mktime(0, 0, 0, $mois, 1, $an, 1));

Or pour Avril 2007 il m'indique que le numéro du jour est 0 (Lundi) alors qu'en réalité c'est 6 (Dimanche). De même pour tout les autres mois qui suivent...
Est ce que quelqu'un pourrait m'aider ? ... merci d'avance
Bonsoir,

Va jeter un oeil dans la doc de php sur la fonction date, de mémoire, le jour 0 correspond au Dimanche (premier jour de la semaine chez les anglais... bah oui, font rien comme tout le monde ceux-là) Smile.

Edit: voici la page en question: http://fr.php.net/manual/fr/function.date.php
Ne pas confondre le 'w' miniscule ou le 0 correspond au dimanche et le 'W4 majuscule où le 0 correspond au lundi.
Il faut que tu remplace w par j
Code PHP :
<?php 
$premier
= date('j', mktime(0, 0, 0, $mois, 1, $an, 1));
Non c'est pas par j qu'il faut remplacer.

En fait ce que je comprend pas c'est que j'ai pris Lundi = 0 et Dimanche = 6 et que ça marche très bien pour les 3 premiers mois de l'année ...
mktime(entier heure, entier minute, entier seconde, entier mois, entier jour, entier annee)
ton code ne correspond pas a la syntaxe
mktime(0, 0, 0, $mois, 1, $an, 1)
le 1 soustrai 1
il ya une solution mais il faut que ta vertion php soit en 5.1.0 avec "N"

http://lwdev4.free.fr/jeux/test/test2.php
Je pense avoire trouver une solution

Code PHP :
<?php 
$jour
= date('w', mktime(0, 0, 0, date("m"), date("d"), date("Y")));
switch(
$jour)
{
case
'1':
echo
"Lundi premier jour de la semaine";
$day=1;
return
$day;
break;
case
'2':
echo
"mardi deuxieme jour de la semaine";
$day=2;
return
$day;
break;
case
'3':
echo
"mercredi troisieme jour de la semaine";
$day=3;
return
$day;
break;
case
'4':
echo
"jeudi quatrieme jour de la semaine";
$day=4;
return
$day;
break;
case
'5':
echo
"vendredi cinquieme jour de la semaine";
$day=5;
return
$day;
break;
case
'6':
echo
"samedi sixieme jour de la semaine";
$day=6;
return
$day;
break;
case
'0':
echo
"dimanche septieme jour de la semaine";
$day=7;
return
$day;
break;
default:
echo
"ECHEC SWITCH";
}
pas terrible mais sa marche
Bonjour,

Je t'ai raconté une bêtise hier Kunutheking, le W majuscule donne le numéro de la semaine, pas le numéro du jour; dans ce que tu veux faire, et en utilisant 0 pour le lundi, il faudrait utiliser la ligne suivante:

Code PHP :
<?php 
$premier
= strftime('%u', mktime(0, 0, 0, $mois, 1, $an, 1));

@ generosite: le 1 à la fin de la fonction mktime sert à signifier que l'heure d'hiver est activée, ce n'est pas forcément utile pour la conception d'un calendrier mais cela ne devrait pas interféré au niveau du résultat du numéro du jour.
d'accord merci je vais essayer ça
@ Yoda oui je sais mais cela enlever 1 jour puisque l'heure etait 0h0min0sec
voila