Gladir.com - ColdFusion - Astronomie - Phase lunaire


Depuis déjà fort longtemps, certaines applications DOS, fournissait la possibilité d'obtenir les phases lunaires lorsqu'on consultait leur calendrier comme en fait fois la capture du MonsterBook:

Pourtant, même s'il ne s'agit que de convertir une date Julienne en Grégorienne pour ensuite calculer à tous les 30 jours (plus exactement 29,53058) la lune revenant inlassablement, les systèmes d'exploitation ne l'indique pas! Vous trouverez la réponse que vous souhaitez, à l'aide du code source ColdFusion suivant:
<CFSCRIPT>
function MoonPhase(Year,Month,Day) {
 if(Month LTE 2) {
  Year=Year-1;
  Month=Month+12;
 }
 Month=Month-3;
 XYear=(Year mod 100);
 Century=int((int(Year / 100.0)*146097.0) / 4);
 XYear=int((XYear*1461.0) / 4);
 M=(int(((((Month*153.0)+2.0)/ 5.0)+Day)+1721119.0+XYear+Century)+4.867)/29.53058;
 return abs(2.0*(M-int(M))-1);
}

for(I=1;I LTE 31;I = I + 1) {
 CircleType=MoonPhase(1999,11,I);
 if(CircleType GT 0.97) WriteOutput(I & " novembre 1999, Phase de la lune:Pleine lune<BR>"); else
 if(CircleType LT 0.03) WriteOutput(I & " novembre 1999, Phase de la lune:Pas de lune<BR>"); else
 if((CircleType GT 0.46)and(CircleType LT 0.53)) WriteOutput(I & " novembre 1999, Phase de la lune: Quart de lune<BR>");
}
for(I=1;I LTE 31;I = I + 1) {
 CircleType=MoonPhase(2007,8,I);
 if(CircleType GT 0.97) WriteOutput(I & " août 2007, Phase de la lune:Pleine lune<BR>"); else
 if(CircleType LT 0.03) WriteOutput(I & " août 2007, Phase de la lune:Pas de lune<BR>"); else
 if((CircleType GT 0.46)and(CircleType LT 0.53)) WriteOutput(I & " août 2007, Phase de la lune: Quart de lune<BR>");
}
</CFSCRIPT>
on obtiendra le résultat suivant:
1 novembre 1999, Phase de la lune: Quart de lune
8 novembre 1999, Phase de la lune:Pas de lune
15 novembre 1999, Phase de la lune: Quart de lune
23 novembre 1999, Phase de la lune:Pleine lune
30 novembre 1999, Phase de la lune: Quart de lune
6 août 2007, Phase de la lune: Quart de lune
13 août 2007, Phase de la lune:Pas de lune
20 août 2007, Phase de la lune: Quart de lune
28 août 2007, Phase de la lune:Pleine lune


Dernière mise à jour: Mardi, le 7 février 2006