Php Récuperer numéro de semaine

Résolu/Fermé
wafa_o Messages postés 109 Date d'inscription mercredi 16 juillet 2008 Statut Membre Dernière intervention 4 janvier 2011 - 3 janv. 2011 à 10:50
wafa_o Messages postés 109 Date d'inscription mercredi 16 juillet 2008 Statut Membre Dernière intervention 4 janvier 2011 - 4 janv. 2011 à 17:02
Bonjour,

Je souhaiterais récupérer le numéro de la semaine précédente ainsi que l'année de cette semaine.

Jusqu'à aujourd'hui j'utilisais le code suivant :

$semaine_en_cours = date("W");
$semaine_recherche = $semaine_en_cours - 1; 

$annee_recherche = date("Y");


Malheureusement, depuis 2011 rien ne fonctionne :(

Est ce que quelqu'un peut m'aider svp ?

A voir également:

4 réponses

tartefion Messages postés 31 Date d'inscription vendredi 21 mai 2010 Statut Membre Dernière intervention 21 janvier 2011 7
3 janv. 2011 à 10:58
Bonjour,

date("W") te renvoi le numéro de la semaine dans l'année,
donc actuellement date("W") == 1
et donc d'après ton code $semaine_recherche == 0
Ton erreur doit venir de là.

Essaye de jouer sur les conditions :

if(date("W")-1 == 0)
{
$semaine_recherche = 52; //(ici un test sur le nombre de semaine de l'année précédente pourrait être nécessaire)

$annee_recherche = date("Y")-1;
}

J'espère avoir compris ton problème ^^
0
wafa_o Messages postés 109 Date d'inscription mercredi 16 juillet 2008 Statut Membre Dernière intervention 4 janvier 2011 2
3 janv. 2011 à 11:12
Merci Tartefion, c'est exactement mon problème !
Avec les conditions ca fonctionne.
N'y a t'il pas un moyen de calculer, à partir du numéro de semaine et de l'année, le lundi de cette même semaine ?

Ainsi je pourrais calculer le timestamp et trouver la semaine précédente....
0
tartefion Messages postés 31 Date d'inscription vendredi 21 mai 2010 Statut Membre Dernière intervention 21 janvier 2011 7
3 janv. 2011 à 11:54
Tu cherche le numéro du jour dans l'année d'un lundi de cette même année ?
Si oui tu peux le trouver comme ça pour la semaine en cours :

$jour_numerique = date("z"); //Renvoi le numéro dans l'année (1 à 366)
$jour_textuel = date("D"); //Renvoi le jour de la semaine en mode "3 lettres" : Mon, Tue, Wed...

$num_lundi_recherche = 0;

switch($jour_textuel) {
case "Mon" :
$num_lundi_recherche = jour_numerique;
break;
case "Tue" :
$num_lundi_recherche = jour_numerique-1;
break;
case "Wed" :
$num_lundi_recherche = jour_numerique-2;
break;
case "Thu" :
$num_lundi_recherche = jour_numerique-3;
break;
case "Fri" :
$num_lundi_recherche = jour_numerique-4;
break;
case "Sat" :
$num_lundi_recherche = jour_numerique-5;
break;
case "Sun" :
$num_lundi_recherche = jour_numerique-6;
break;
}

Après pour obtenir le numéro d'un lundi d'une semaine précise dans l'année je ne sais pas. Peut être avec la fonction mktime() qui te permet de créer des dates antérieurs et de les manipulé (de façon limité quand même).
0
wafa_o Messages postés 109 Date d'inscription mercredi 16 juillet 2008 Statut Membre Dernière intervention 4 janvier 2011 2
4 janv. 2011 à 17:02
Merci
0