1720994,5 = 365,25*4716 - 1524,5 où 4716 est une constante qui a été ajoutée à la formule pour éviter les problèmes pour les années négatives, et 1524,5 est un décalage pour garantir que JD = 0,0 à midi le 1er janvier -4712 dans le calendrier julien. a = année, sa = sauvegarde de l'année m = mois, sm = sauvegarde du mois j = jour, i = compteur n = 28 ou 29 pour bissextile b,c,d,e = variable de calcul t = voir ci-dessus g = résultat du calcul ================================================ Define jour_julien()= Prgm :Local a,sa,m,sm,j,b,c,d,e,t,n,i :0→a:0→sa:0→m:0→sm:0→j:0→g :0→b:0→c:0→d:0→e:28→n:1720994.5→t :©b et c sont des correctifs pour :© pour les dates>15 oct 1582 :setMode(5,2) :For i,1,2: Disp "":EndFor :Disp " Donner la date en chiffres " :Disp " appuyez sur [enter]" :Disp " pour continuer" :For i,1,3: Disp "":EndFor :getKey(1) :Request "Le jour : ",j :Request "Le mois : ",m :Request "L'année : ",a :m→sm :a→sa :©--------------------voir si bissextile :If mod(a,4)=0 and mod(a,100)≠0 or mod(a,400)=0 Then :29→n :EndIf :©---------------------- contrôle date :If j<1:Goto err :If m<1:Goto err :If a<−4712 or a=0 or a>9999:Goto err :If j>30 Then : If m=4 or m=6 or m=9 or m=11 : Goto err :EndIf :If j>31 Then : If m=1 or m=3 or m=5 or m=7 or m=8 or m=10 or m=12 : Goto err :EndIf :If m=2 and j>n : Goto err :©--------------------------- calcul :If m<3 Then : a-1→a:m+12→m :EndIf :int(((a)/(100)))→b :2-b+int(((b)/(4)))→c :int(365.25*a)→d :int(30.6001*(m+1))→e :c+d+e+j+t→g :©-------------------------- affiche :For i,1,3: Disp "":EndFor :Disp "le",j,"/",sm,"/",sa,"correspond au jour Julien" :Disp " ",g :For i,1,3: Disp "":EndFor :Disp " Entrer pour sortir !" :getKey(1) :Goto fin :©-------------------------- erreur :Lbl err :For i,1,2:Disp "":EndFor :Disp " le",j,"/",sm,"/",sa," !?" :Disp "" :Disp " Désolé cette date n'est pas valide" :For i,1,2:Disp "":EndFor :©----------------------------- fin :Lbl fin :EndPrgm