Fonction semaine qui retourne le mois

Résolu
rescue Messages postés 1047 Statut Contributeur -  
rescue Messages postés 1047 Statut Contributeur -
Bonjour,

J'aimerai avoir le mois en question lorsque je donne des numéros de semaine.
Je m'explique :

Créer une fonction qui va lire (45, 46, 47, 48) et me retourne "Novembre".

Pensez-vous que c'est possible en PHP car là je sèche complètement.

Merci.



--
Nul ne peut prétendre se connaître parfaitement car la conscience n'est que la partie émergée de l'iceberg. Sigmund Freud

4 réponses

  1. Thims Messages postés 12 Statut Membre
     
    J'ai trouvé ceci, mais je n'ai pas essayé :

    // numero de la semaine. $dt_task est la date qu'on selectionne
    $w = date("W", strtotime($dt_task));
    
    // on enleve 7 jours de la date selectionnee pour alleger la boucle for
    list($y, $m, $d) = explode("-", date("Y-m-d", strtotime($dt_task) - 604800));
    
    for($i = $d; $i < $d + 8; $i++)
    {
    if($w == date("W", mktime(0, 0, 0, $m, $i, $y))) break;
    }
    
    // $i est donc notre premier jour :)
    // adapter selon votre utilisation
    // pour afficher toute la semaine:
    for($j = $i; $j <= $i + 6; $j++)
    {
    echo date("l d/m/Y", mktime(0, 0, 0, $m, $j, $y))."<br>";
    }


    Si cela fonctionne, à toi de l'adapter à tes besoins par la suite.
    0
  2. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 831
     
    Bonjour,

    Tu peux, pour trouver le Mois correspondant à UNE semaine faire ceci :
    // F = full name of month, n = month number without leading zero
    echo date('F n', strtotime('2014-W45'));
    


    Après.. si tu veux trouver le/les mois correspondant(s) au(x) numéro(s) de semaine d'une liste (ou d'un Array..) tu peux faire comme ça :
    <?php
    
    //Créer une fonction qui va lire (45, 46, 47, 48) et me retourne "Novembre". 
    $arrayWeek = array(45,46,47,48,49,50);
    $annee = 2014;
    $ListMois = array();
    $moisPrecedent = '';
    foreach ($arrayWeek as $W ){
      $mois = date('F n', strtotime($annee.'-W'.$W));
      if($mois != $moisPrecedent){
        $ListMois[]=$mois;
      }
      $moisPrecedent = $mois;
    }
    
    echo "<br>Liste des mois trouvés :<br>";
    print_r($ListMois);
    
    ?>
    


    0
  3. rescue Messages postés 1047 Statut Contributeur 136
     
    Bonjour,

    Merci pour vos réponses.
    Je regarde ça de plus près et je vous ferai un retour.
    @+

    0
  4. rescue Messages postés 1047 Statut Contributeur 136
     
    Bonsoir,

    C'est parfait Jordane45 ta solution me convient je vais l'adapter à ma situation.
    En tout cas un grand Merci.

    @+

    Nul ne peut prétendre se connaître parfaitement car la conscience n'est que la partie émergée de l'iceberg. Sigmund Freud
    0