Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2130 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Date du 1er jour d'une semaine donnée

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Date du 1er jour d'une semaine donnée

n°1467096
Popop56
56
Posté le 29-10-2006 à 21:18:52  profilanswer
 

Bonjour,
 
Pour un script je cherche à convertir un numero de semaine en date du premier jour de cette semaine.
 
J'ai deja trouver une solution mais elle n'est pas super pratique... car le jour de la premier semaine de l'année est different pour chaque année!
 
Voici mon code:

Code :
  1. $timestamp = strtotime('1 January 2006');
  2. $semaine = "20 week";
  3. date('d M',strtotime($semaine,$timestamp))


 
Avec ceci j'obtiens le premier jour de la semaine 19 (bon c'est pas bien grave mais je comprends pas trop)
 
Voyez vous une meilleur solution?
 
Merci par avance

mood
Publicité
Posté le 29-10-2006 à 21:18:52  profilanswer
 

n°1467193
misterping​uin
Posté le 30-10-2006 à 09:27:32  profilanswer
 

Citation :

W Numéro de semaine dans l'année ISO-8601, les semaines commencent le lundi (ajouté en PHP 4.1.0) Exemple : 42 (la 42ème semaine de l'année)


 
http://fr2.php.net/manual/fr/function.date.php


Message édité par misterpinguin le 30-10-2006 à 09:28:24
n°1467233
Popop56
56
Posté le 30-10-2006 à 10:17:22  profilanswer
 

Merci pour ce post completement inutile.

n°1467393
pascal_
Posté le 30-10-2006 à 13:17:59  profilanswer
 

Popop56 a écrit :


Avec ceci j'obtiens le premier jour de la semaine 19 (bon c'est pas bien grave mais je comprends pas trop)


 
Ah, je trouve le 21 mai qui est effectivement 20 semaines de plus que le 1er janvier.
 
 
Sinon il y a une fonction dans les commentaires sur php.net:

Code :
  1. // ******************************************************
  2. // Function that returns the dates for each day in a week
  3. // ******************************************************
  4. function week_dates($week,$year) {
  5.    $week_dates = array();
  6.    // Get timestamp of first week of the year
  7.    $first_day = mktime(12,0,0,1,1,$year);
  8.    $first_week = date("W",$first_day);
  9.    if ($first_week > 1) {
  10.        $first_day = strtotime("+1 week",$first_day); // skip to next if year does not begin with week 1
  11.    }
  12.    // Get timestamp of the week
  13.    $timestamp = strtotime("+$week week",$first_day);
  14.    // Adjust to Monday of that week
  15.    $what_day = date("w",$timestamp); // I wanted to do "N" but only version 4.3.9 is installed :-(
  16.    if ($what_day==0) {
  17.        // actually Sunday, last day of the week. FIX;
  18.        $timestamp = strtotime("-6 days",$timestamp);
  19.    } elseif ($what_day > 1) {
  20.        $what_day--;
  21.        $timestamp = strtotime("-$what_day days",$timestamp);
  22.    }
  23.    $week_dates[1] = date("Y-m-d",$timestamp); // Monday
  24.    $week_dates[2] = date("Y-m-d",strtotime("+1 day",$timestamp)); // Tuesday
  25.    $week_dates[3] = date("Y-m-d",strtotime("+2 day",$timestamp)); // Wednesday
  26.    $week_dates[4] = date("Y-m-d",strtotime("+3 day",$timestamp)); // Thursday
  27.    $week_dates[5] = date("Y-m-d",strtotime("+4 day",$timestamp)); // Friday
  28.    $week_dates[6] = date("Y-m-d",strtotime("+5 day",$timestamp)); // Saturday
  29.    $week_dates[7] = date("Y-m-d",strtotime("+6 day",$timestamp)); // Sunday
  30.    return($week_dates);
  31. }


 
J'ai rapidement testé, la première semaine de l'année est la 0 si j'ai bien compris...;


Message édité par pascal_ le 30-10-2006 à 13:20:30

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Date du 1er jour d'une semaine donnée

 

Sujets relatifs
quelle type de table pour ma base de donnee ?[ACCESS] Comment faire une recherche précise sur une date?
Ouvrir etat pour une semaine donnee a partir d'une date entree formgraphique à partir de donnée XML openlazlo
petit programme de classement automatique suivant donnée[PHP] exportation d'une base de donnée
verif donnee venant d'un post avec donnee table sql[Oracle] Optimisation d'une requête de mise à jour
Plus de sujets relatifs à : Date du 1er jour d'une semaine donnée


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR