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

  FORUM HardWare.fr
  Programmation
  PHP

  défi algorithme date

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

défi algorithme date

n°1594257
twisted
Ahhhhhhhh !
Posté le 01-08-2007 à 10:51:21  profilanswer
 

salut à tous
 
voici un algorithme sur lequel je me prend la tête. il s'agit d'afficher une liste déroulante <select> avec la liste des semaines à partir de la semaine actuel jusqu'à n+1. (donc afficher 52 semaines).
chaque ligne affiche le numéro de semaine ainsi que les numéros de jour (numéro du lundi et du vendredi).
 
j'ai écris un algorithme qui fonctionne jusqu'à la semaine 42 mais à partir de la 43 un décalage se créé.
 
si quelqu'un est très à l'aise sur les dates avec php et veut bien tenter de relever le défi :-)
 
http://aug01.imgshare.us/44g.jpg
 

Code :
  1. <?php
  2.   echo '<select name="date">';
  3.   $uneSemaine = 3600*24*7;
  4.   $premierJour = mktime(0,0,0,date("m" ),date("d" )-date("w" )+1,date("Y" ));
  5.   $j = 1;
  6.   for ($i = 0; $i < 52; $i++) {
  7.     $numeroSemaine = (date("W" )+$i);
  8.     if ($numeroSemaine>52) {
  9.       $numeroSemaine = $j++;
  10.     }
  11.     $dateRegulation = $premierJour + $uneSemaine;
  12.     $dateRegulation = date("d-m-Y",mktime(0, 0, 0, date("m",$dateRegulation),date("d",$dateRegulation)-3,date("Y",$dateRegulation)));
  13.     echo '<option value="du '.date("d-m-Y",$premierJour).' au '.$dateRegulation.'">';
  14.     echo 'Semaine n°'.$numeroSemaine.' - (du '.date("d-m-Y",$premierJour).' au '.$dateRegulation.')</option>';
  15.     $premierJour = $premierJour + $uneSemaine;
  16.   }
  17.   echo '</select>';
  18. ?>


 
merci d'avance


Message édité par twisted le 01-08-2007 à 10:54:25
mood
Publicité
Posté le 01-08-2007 à 10:51:21  profilanswer
 

n°1594286
AlphaZone
Posté le 01-08-2007 à 11:24:14  profilanswer
 

Salut,
 
Je ne savais pas que les semaines étaient séparées de 3 jours :)


---------------
"Nous avons tous nos machines du temps. Celles qui nous ramènent en arrière sont les souvenirs, celles qui nous projettent en avant sont les rêves."
n°1594291
twisted
Ahhhhhhhh !
Posté le 01-08-2007 à 11:34:53  profilanswer
 

Quel est le sens de ta question ? les semaines ne sont pas séparées de 3 jours !
 

Code :
  1. chaque ligne affiche le numéro de semaine ainsi que les numéros de jour (numéro du lundi et du vendredi).


 
si l'on prend la première semaine sur l'image, numéro 31 :
elle débute le lundi 30 juillet pour finir le vendredi 3 août.
 
la semaine 32 démarre le lundi 6, ect...

n°1594311
casimimir
Posté le 01-08-2007 à 12:02:39  profilanswer
 

je ne code pas du tout en php mais j'afficherai $premierjour pour voir ce qui s'y trouve, je sens bien l'arrondi foireux quand tu y rajoute $unesemaine

n°1594339
AlphaZone
Posté le 01-08-2007 à 13:17:41  profilanswer
 

twisted a écrit :

Quel est le sens de ta question ?


Ce n'était pas une question. Bref!
 
As-tu essayé d'afficher la valeur de tes variables? L'algorithme n'a pas l'air si compliqué que ça. Je m'y attarderais dessus si j'avais un peu de temps devant moi mais ce n'est pas le cas. Je te conseil de revoir ton algo et la valeur de tes variables. Tu as surement dû oublié quelque chose quelque part.


---------------
"Nous avons tous nos machines du temps. Celles qui nous ramènent en arrière sont les souvenirs, celles qui nous projettent en avant sont les rêves."
n°1594355
rufo
Pas me confondre avec Lycos!
Posté le 01-08-2007 à 14:10:08  profilanswer
 

Ca serait une erreur de penser que la semaine n°1 commence forcément un lundi...
http://fr.wikipedia.org/wiki/Num%C [...] s_semaines
 
De même, ce serait une erreur de penser qu'une semaine a la même durée (en secondes)...Ben oui, dans notre calendrier, y'a 2 changement d'heure (donc, y'a une semaine qu''à 1h de plus et une autre qui en a 1 de moins). Y'a aussi le coup des années bissextiles. Commence donc déjà par récupéré le n° du 1er jour de l'année et le n° de la semaine du dernier jour de l'année...


Message édité par rufo le 01-08-2007 à 14:13:27

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

  défi algorithme date

 

Sujets relatifs
defi regexp un peu compliqué..[Résolu] Problème de décalage de date java sous windows vista
Mettre à jour "date" sur ma BDD avec PHP[PHP/MsSQL] Mise en forme de date
Affichage de la dateSysteme qui serait capable de créer un répertoire avec la date du jour
extraire Y, m, d, H, i, s d'une date(' ')Problème de recopie d'une date.
Petit défi !! Compteurs qui s'incrémentent à l'aide d'une commande[MSSQL] probleme de date
Plus de sujets relatifs à : défi algorithme date


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