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

  FORUM HardWare.fr
  Programmation
  PHP

  [PHP]Calculer le nombre de samedi se trouvant entre 2 dates

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[PHP]Calculer le nombre de samedi se trouvant entre 2 dates

n°969579
simoes
Posté le 02-02-2005 à 16:20:57  profilanswer
 

Voila j'ai 2 dates et j'aimerais savoir combien il y a de samedi entre ces 2 dates!!!
 
Merci

mood
Publicité
Posté le 02-02-2005 à 16:20:57  profilanswer
 

n°969580
skeye
Posté le 02-02-2005 à 16:22:42  profilanswer
 

prends un calendrier.


---------------
Can't buy what I want because it's free -
n°969581
zentakk
Posté le 02-02-2005 à 16:23:41  profilanswer
 

bah tu calcule le nombre de jour qu'il y a entre tes deux dates et tu divise par 7...  :lol:

n°969582
skeye
Posté le 02-02-2005 à 16:24:44  profilanswer
 

zentakk a écrit :

bah tu calcule le nombre de jour qu'il y a entre tes deux dates et tu divise par 7...  :lol:


c'est pas tout à fait ça...[:aloy]
Enfin bref, tu as la fonction date() de php + tes neurones qui doivent te permettre de faire ça très bien...:o


---------------
Can't buy what I want because it's free -
n°969663
Bidem
Posté le 02-02-2005 à 17:03:59  profilanswer
 

A l'arrache, j'ai pas testé et c'est en pseudo-code approximatif :

Code :
  1. var int nbJours =  dateDebut - dateFin;
  2. var int i = 0;
  3. // boucle cherchant le 1er Samedi à partir de dateDebut
  4. while ((i < nbJours) && (jours[i] != "Samedi" )) {
  5.   i++;
  6. }
  7. if (i<nbJours) {
  8.   // on est sorti de la boucle en ayant trouvé un "Samedi"
  9.   var int nbJoursRestant = nbJours - i;
  10.   var nbSamedi = 1 + (nbJoursRestant / 7);
  11.   return nbSamedi;
  12. } else {
  13.   // cas où l'interval de dates est tellement petit qu'il n'y a aucun Samedi dedans
  14.   return 0;
  15. }


 
Sauf erreur ou omission, ça doit donner le bon résultat (à +/- 1 près)  :pt1cable:


Message édité par Bidem le 02-02-2005 à 17:06:42
n°969735
Bidem
Posté le 02-02-2005 à 17:31:12  profilanswer
 

On oublie tout ce que j'ai mis plus haut.
 
La fonction date() permet de s'affranchir de la boucle grace à l'option 'w' qui donne le jour dans la semaine (0 pour dimanche et 6 pour Samedi)
 

Code :
  1. $nbJoursAvantPremierSamedi = 6 - date('w', $dateDebut);
  2. $nbSamedi = ($nbJours - $nbJoursAvantPremierSamedi) / 7;


 
Plus simple non ?

n°969899
simoes
Posté le 02-02-2005 à 20:56:24  profilanswer
 

Voila j'ai créer ce code! A mon avis il y pas d'erreur.  
 

Code :
  1. function nbJour($numeroJour, $J1,$M1,$A1, $J2, $M2,$A2)
  2. {
  3.  // J1 : Jour première date
  4.  // M1 : Mois première date
  5.  // A1 : Année première date
  6.  // J2 : Jour deuxième date
  7.  // M2 : Mois deuxième date
  8.  // A2 : Année deuxième date
  9.  // numeroJour : 1 Dimanche, 2 Lundi,.. 7 Samedi
  10.  $nbJour = 0;
  11.  $Date1 = mktime(0, 0, 0, $M1, $J1, $A1 );
  12.  $Date2 = mktime( 0, 0, 0, $M2, $J2, $A2 );
  13.  $nbJourDiff = ($Date2 - $Date1) / (60*60*24);
  14.  for ($i=0 ; $i<$nbJourDiff+1; $i++)
  15.  {
  16.   $Date1 = mktime(0, 0, 0, $M1, $J1+$i, $A1 );
  17.   if (date("w",$Date1) == $numeroJour-1)
  18.    $nbJour++;
  19.  }
  20.  return $nbJour;
  21. }


---------------
Donne un poisson à un homme il mangera une journée, Apprends lui à pêcher, il mangera toute sa vie...
n°970229
sircam
I Like Trains
Posté le 03-02-2005 à 09:58:27  profilanswer
 

simoes a écrit :

Voila j'ai créer ce code! A mon avis il y pas d'erreur.


Ca va pas non ?  :ouch:
 
Boucler sur toutes les jours entre deux dates et pour chacun d'entre eux, créer une date et tester si c'est le bon jour de la semaine ?!
 
Je veux bien que les machines actuelles soient puissantes et que même pour un intervalle d'un an, ça va blesser personne, mais c'est tuer une mouche au lance-roquettes !!!
 
On avait dit d'utiliser les neurones [:kiki]


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
n°973910
simoes
Posté le 07-02-2005 à 12:00:37  profilanswer
 

Je vois pas comment faire plus simple.
 
En ce qui concerne les neurones, il y en a dja 2-3 qui sont grillés... ;)

n°973993
sircam
I Like Trains
Posté le 07-02-2005 à 13:31:33  profilanswer
 

Compte le nombre de jours entre deux dates. Divise par 7 (division entière).
 
Soit n le résultat de cette division. Tu constateras qu'il y a n ou n+1 samedi (ou tout autre jour de la semaine) entre les deux.
 
Pour départager n et n+1, utilise le reste de la division supra et détermine l'écart entre le jour de la date de départ et le jour recherché.
 
Avec 3-4 neurones en état de fonctionnement, c'est faisable :jap:


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}

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

  [PHP]Calculer le nombre de samedi se trouvant entre 2 dates

 

Sujets relatifs
Questions PHP/MYSQL sur les TEXTAREAequivalence fonctions CFM /PHP
Garder le résultat d'une requete en mémoire avec PHP Part 2 [Résolu][PHP] Plug in PHP pour Eclipse
Script PHP pour gallerie image, upload...[PHP] création du service web avec nuSoap
[PHP] je n'arrive pas utiliser PEAR::Auth[PHP] s'marrant ça, session.save_path (in php.ini) n'a pas d'influence
Cellules au format DATE de Excel et PHP[PHP] exec et process cmd (windows 2000)
Plus de sujets relatifs à : [PHP]Calculer le nombre de samedi se trouvant entre 2 dates


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