Fonction semaine qui retourne le mois

Résolu/Fermé
rescue Messages postés 1039 Date d'inscription vendredi 16 novembre 2007 Statut Contributeur Dernière intervention 27 mars 2019 - 9 déc. 2014 à 14:02
rescue Messages postés 1039 Date d'inscription vendredi 16 novembre 2007 Statut Contributeur Dernière intervention 27 mars 2019 - 18 déc. 2014 à 18:50
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.



A voir également:

4 réponses

Thims Messages postés 12 Date d'inscription jeudi 3 mars 2011 Statut Membre Dernière intervention 16 décembre 2014
9 déc. 2014 à 14:19
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
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
9 déc. 2014 à 14:40
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
rescue Messages postés 1039 Date d'inscription vendredi 16 novembre 2007 Statut Contributeur Dernière intervention 27 mars 2019 136
12 déc. 2014 à 10:40
Bonjour,

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

0
rescue Messages postés 1039 Date d'inscription vendredi 16 novembre 2007 Statut Contributeur Dernière intervention 27 mars 2019 136
Modifié par rescue le 18/12/2014 à 18:52
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