PortailAccueilFAQRechercherCalendrierS'enregistrerMembresGroupesConnexion

Partagez | 
 

 Calcul de l'écart entre deux dates

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
Admin
Admin
avatar

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

MessageSujet: Calcul de l'écart entre deux dates   Jeu 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
Voir le profil de l'utilisateur http://design.jeun.fr
 
Calcul de l'écart entre deux dates
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
DESIGN STUDIO FORUM :: programmation :: C,C++-
Sauter vers: