A voir également:
- Algorithme calcul nombre de jours entre 2 dates
- Nombre de jours entre deux dates excel - Guide
- Supercopier 2 - Télécharger - Gestion de fichiers
- Compte facebook suspendu 180 jours - Guide
- Calcul km marche à pied gratuit - Télécharger - Sport
- Calcul moyenne excel - Guide
5 réponses
je désire connaitre le nom de jours entre 4 juillet 1970 et le 7 juillet 2007 ,en tenant comptes années bissectiles MERCI
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.
@++
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.
@++
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;
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;
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question