Php Récuperer numéro de semaine

Résolu
wafa_o Messages postés 109 Date d'inscription   Statut Membre Dernière intervention   -  
wafa_o Messages postés 109 Date d'inscription   Statut Membre Dernière intervention   -
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   Statut Membre Dernière intervention   7
 
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   Statut Membre Dernière intervention   2
 
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   Statut Membre Dernière intervention   7
 
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   Statut Membre Dernière intervention   2
 
Merci
0