L'objectif est de calculer le nombre de jours entre deux dates données.
Cette première version calcule le nombre de jours écoulés depuis le 1er janvier 1600.
La donnée est une date sous la forme : jour / mois / annee.
Voici l'algorithme :
m = une valeur qui dépend du mois selon le tableau ci-dessous : mois 1 2 3 4 5 6 7 8 9 10 11 12 m 0 31 59 90 120 151 181 212 243 273 304 334 an = annee-1600; a = an * 365; // compte l'influence des années b = an/4 - an/100 + an/400; // compte l'influence des années bissextiles si ( (an est divisible par 4) et ( (an n'est pas divisible par 100) ou (an est divisible par 400) ) et (le mois est janvier ou février) ), alors retirer 1 à b; j = jour + m + a + b La réponse obtenue pour j indique le nombre de jours écoulés depuis le 1er janvier 1600. Dans chaque division, il faut prendre la partie entière du résultat de la division, qui se calcule à l'aide de la fonction : Math.floor(nombre). Exemple, Math.floor(3.7) = 3. Remarque : c = Math.floor( (14 - mois) / 12) = 1 si mois == 1 ou mois == 2, c= 0 sinon. m = Math.round( (12*c + mois - 3)*30.6001) + 59 - 365*c
Le programme pourrait être amélioré en testant la validité des données.
Il faudrait donc tester que la date donnée soit possible.
Plan du Site : Home
page16a_nombre_de_jours.html
Page mise à jour le 21 avril 2016 par Bernard Gisin
Hébergement par : www.infomaniak.ch