DESIGN STUDIO FORUM
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.



 
PortailAccueilRechercherDernières imagesS'enregistrerConnexion
Le Deal du moment :
Nike : Jusqu’à 50% sur les articles de ...
Voir le deal

 

 Calcul de l'écart entre deux dates

Aller en bas 
AuteurMessage
Admin
Admin
Admin


Masculin
Nombre de messages : 138
Age : 37
Date d'inscription : 02/09/2006

Calcul de l'écart entre deux dates Empty
MessageSujet: Calcul de l'écart entre deux dates   Calcul de l'écart entre deux dates EmptyJeu 5 Oct - 14:02

A partir de deux dates la fonction Diff calcul le nombre de jours qui sépare ces deux dates, en tenant compte des années bissextiles.
Code:
/* l'année est-elle bissextile*/
int Bissextile (int A)
{
  return A % 4 == 0 && (A % 100 != 0 || A % 400 == 0);
}

/*combien de jours se sont ecoules depuis le debut de l'annee donnee*/
int Nb_Jours (int J, int M, int A)
{
  int i, D = 0;
  const int Mois[12]= {31,28,31,30,31,30,31,31,30,31,30,31};

  if (M == 1)
    D = J;
  else
  {
    for (i = 0; i < (M-1); i++)
      D += Mois[i];
    D+=J;
  }
  if ((M > 2) && (Bissextile(A)))
    D++;
  return D;
}

/*la fonction diff proprement dite*/
int Diff (int j1, int m1, int a1, int j2, int m2, int a2)
{
  int NJ = 0, NJ1, NJ2, i;

  NJ1 = Nb_Jours (j1, m1, a1);
  NJ2 = Nb_Jours (j2, m2, a2);
  if (a2 == a1)
    NJ = NJ2 - NJ1;
  else
  {
    for (i = 0; i < (a2-a1); i++)
    {
      NJ += 364;
      if (Bissextile (a1+i))
        NJ++;
    }
    NJ -= NJ1;
    NJ += NJ2+1;
  }
  return NJ;
}
Revenir en haut Aller en bas
https://design.jeun.fr
 
Calcul de l'écart entre deux dates
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» CALCUL DU PGCD DE 2 NBRES PAR SOUSTRACTION et ...
» Fusionner le contenu de deux tableaux

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
DESIGN STUDIO FORUM :: programmation :: C,C++-
Sauter vers:  
Ne ratez plus aucun deal !
Abonnez-vous pour recevoir par notification une sélection des meilleurs deals chaque jour.
IgnorerAutoriser