Nbre de jours entre deux dates

Bonjour tout le monde
Je cherche SVP un algo qui permet de calculer le nombre de jours entre deux dates en tenant compte des années bissectiles (par exemple le nombre de jours entre le 01/01/1978 et 28/06/2005)

Merci d'avance de votre soutien

5 réponses

  1. je désire connaitre le nom de jours entre 4 juillet 1970 et le 7 juillet 2007 ,en tenant comptes années bissectiles MERCI
    8
    1. En liberty BASIC il existe une commande qui permet d'avoir la date sous la forme d'un nombre qui correspond au nombre de jours depuis le 1 janvier 1901 forcement ça aide.

      pour ton algo voici une idee:

      entree date debut
      compter le nbre de jours jusqu'a la fin de l'année (standard non bissextile)
      verifier si c'est une année bissextile
      si oui
      verifier si la date est anterieure au 1 er mars
      si oui
      ajouter 1 jour au nbre de jours

      entree date de fin
      compter le nbre de jours depuis le 1 janvier (standard non bissextile)
      verifier si c'est une annee bissextile
      si oui
      verifier si la date est posterieure au 28 fevrier
      si oui
      ajouter 1 jour au nbre de jours
      compter le nbre d'année pleine entre les deux dates
      ajouter 365 au nbre de jour pour chacune d'entre elle
      verifier si elle est bissextile
      si oui
      ajouter 1 jour au nbre de jours.

      @++
      1
      1. voici un algo qui transforme une date en nombre, valable pour le calendrier julien
        FUNCTION FACTJOUR(J,M,A:INTEGER):longint;
        (*transforme une date en un nombre*)
        (* j m a sont je jour le mois l'an)
        VAR FACT:REAL;
        BEGIN
        IF M IN[1,2] THEN
        BEGIN
        FACT:=(1.0*365*A)+1*J;
        FACT:=FACT+(1.0*(31*(M-1)));
        FACT:=FACT+(1.0*INT(((A-1)/4)));
        FACT:=FACT-(1.0*INT(3/4*INT(((A-1)/100)+1)));
        END
        ELSE
        BEGIN
        FACT:=(1.0*365*A)+J;
        FACT:=FACT+(1*(31*(M-1)));
        FACT:=FACT+(1.0*INT((A/4)));
        FACT:=FACT-INT(3/4*INT((A/100)+1));
        FACT:=FACT-INT(((0.4*M)+2.3));
        END;
        FACTJOUR:=round(FACT);
        END;
        1
        1. avec quel code source en delphi 6 je peut avoir la différence en deus dates données?
          merci
          1
          1. je cherche une fonction en php qui calcule le nombre de jours fériés
            1