Page 1 sur 1

calcul nbre samedi dans mois

Posté : 23 mai 2005, 17:47
par Justone
Bonjour,

j'ai ecrit un fonction qui permet de calaculer le nombre de samedi par mois en fonction d'un mois et d'une année
<?php
function getSamedi ($mois, $annee) {
    $jour = 1;
    $cpt = 0;
    while (checkdate ($mois, $jour ++, $annee) === true) {
        $stamp = mktime (0,0,0,$mois,$jour, $annee);
        if (date ('D', $stamp) === 'Sat')
            $cpt++;
        }
    return $cpt;
}

$nbre_samedi = getSamedi (5, 2005);
echo $nbre_samedi;
?>
en la testant sue les années 2004 et 2005, j'ai remarqué des erreurs
pour 2004 : janvier septembre et octobre ne sont pas les bons résultats
pour 2005 : c'est avril mai et decembre

je ne comprends pas pourquoi ces erreurs!!

merci pour votre aide...

Posté : 23 mai 2005, 17:55
par Cyrano
Je viens de faire un essai en vérifiant les mois que tu as mentionnées: ça fonctionne très bien...
- 5 samedis pour janvier 2004 : OK
- 4 samedis pour septembre 2004 : OK
- 5 samedis pour octobre 2004 : OK
Tu n'as pas ces résultats là ?

Posté : 23 mai 2005, 17:57
par Justone
mince jme suis trompé

en fait j'ai inversé


voici mes vrais erreurs :
pour 2005 : janvier septembre et octobre ne sont pas les bons résultats
pour 2004 : c'est avril mai et decembre

Posté : 23 mai 2005, 18:12
par Cyrano
Voilà, je crois que j'ai toruvé: ça sautait le premier si le 1er du mois était un samedi:
<?php
function getSamedi ($mois, $annee)
{
    $jour = 1;
    $cpt = 0;
    while (checkdate ($mois, $jour, $annee) === true)
    {
        $stamp = mktime (0,0,0,$mois,$jour, $annee);
        if (date ('D', $stamp) === 'Sat')
		{
        	$cpt++;
		}
		$jour++;
    }
    return $cpt;
}

$nbre_samedi = getSamedi (10, 2005);
echo $nbre_samedi;
?>

Posté : 23 mai 2005, 19:06
par naholyr
Cette fonction pourrait être grandement améliorée en procédant avec un autre algo: on prend le nombre de jour du mois, le premier jour du mois (ce qui nous donne le numéro du premier samedi du mois), et on en déduit immédiatement le nombre de samedi dans le mois :arrow: pas de boucle :)

Posté : 23 mai 2005, 19:22
par thierry
quoi, elle te plaisait pas celle que je t'avais fillé :roll:
http://phpfrance.com/forums/voir_sujet-3234.php

Posté : 23 mai 2005, 19:58
par naholyr
C'est exactement à ce genre d'algo que je pensais ;)

Posté : 24 mai 2005, 09:26
par Justone
merci cyrano pour avoir trouvé mon erreur

et merci a toi thierry (dsl mais je n'avais pas vu qu'on m'avais répondu dans mon autre topic)

vous avez raison la fonction de thierry est mieux, jvé regarder ca

bonne journée a tous

Posté : 24 mai 2005, 09:35
par Justone
qu'entends tu par $jour_a_trouver?

Posté : 24 mai 2005, 09:57
par Justone
en fait, c'est bon!

merci bcp thierry...