Javascript jquery para fases lunares

Por si os viene bien a alguien, me cree un código para esto, basándome en los cálculos de

Pero también os digo… de todas las paginas con calculadora que he visto ninguna coincide en los resultados sobre todo en años anteriores al 2000. Así que tampoco puedo saber 100% quien lo hace correctamente.

 
 
<script>
/** 
 * calc info about moon phase for a given date 
 * @author alvaro chico - alvarochico@gmail.com
 */
 
function mooncalendar()
{
 
 
 
var day = jQuery('#Giorno option:selected').val()
var month = jQuery('#Mese option:selected').val()
var year = jQuery('#Anno option:selected').val()
 
if (month === 'Gennaio' ){month ='1'}
if (month === 'Febbraio' ){month ='2'}
if (month === 'Marzo' ){month ='3'}
if (month === 'Aprile' ){month ='4'}
if (month === 'Maggio' ){month ='5'}
if (month === 'Giugno' ){month ='6'}
if (month === 'Luglio' ){month ='7'}
if (month === 'Agosto' ){month ='8'}
if (month === 'Settembre' ){month ='9'}
if (month === 'Ottobre' ){month ='10'}
if (month === 'Novembre' ){month ='11'}
if (month === 'Dicembre' ){month ='12'} 
 
 
var periodolunar = 19;
periodolunar = parseInt(periodolunar);
 
month = parseInt(month);
day = parseInt(day);
year = parseInt(year);
 
if (year > 2019)
{
 
 for (i=year; i>2019; i++)
{
  i--;
  i= i-periodolunar;
 
}
 
 
 year = i;
 
}
 
 
else if (year < 2000)
 
{    
 
for (i=year; i<2000; i++)
{
  i--;
  i= i+periodolunar;
 
}
 year = i;
 
}
 
else {year = year;}
 
 
var sumado = year.toString().split('').reduce(function(r, n) { return r + parseInt(n) }, 0);
 
 
if (year >2009){sumado = year-2000+2;}
 
 
 
 
 
 
var sumadoymultiplicado = sumado * 11;
 
var condiaymes = sumadoymultiplicado+day+month;
 
 
 
 
for (i=condiaymes; i>=30; i++)
{
  i--;  
 
  i= i-30;
 
}
 
 var resultado = i;
 
 
 
 
 
if (resultado < 4){b = 0; }
 
else if(resultado > 3 && resultado < 7 ){b = 1;}
else if(resultado > 6 && resultado < 10 ){b = 2;}
else if(resultado > 9 && resultado < 14 ){b = 3;}
else if(resultado > 13 && resultado < 18 ){b = 4;}
else if(resultado > 17 && resultado < 22 ){b = 5;}
else if(resultado > 21 && resultado < 26 ){b = 6;}
else if(resultado > 25){b = 7;}
 
 
 
     if (b == 0) {b = 'Luna nuova';  jQuery("#imagemoon").html("<img alt='' src='http://www.umoon.it/wp-content/uploads/imgmoon/1.png' />");  } 
     else if (b == 1) {b = 'Luna crescente';  jQuery("#imagemoon").html("<img alt='' src='http://www.umoon.it/wp-content/uploads/imgmoon/2.png' />");} 
     else if (b == 2) {b = 'Primo quarto';  jQuery("#imagemoon").html("<img alt='' src='http://www.umoon.it/wp-content/uploads/imgmoon/3.png' />");} 
     else if (b == 3) {b = 'Gibbosa crescente';  jQuery("#imagemoon").html("<img alt='' src='http://www.umoon.it/wp-content/uploads/imgmoon/4.png' />");} 
     else if (b == 4) {b = 'Luna piena ';  jQuery("#imagemoon").html("<img alt='' src='http://www.umoon.it/wp-content/uploads/imgmoon/5.png' />");} 
     else if (b == 5) {b = 'Gibbosa calante';  jQuery("#imagemoon").html("<img alt='' src='http://www.umoon.it/wp-content/uploads/imgmoon/6.png' />");} 
     else if (b == 6) {b = 'Ultimo quarto';  jQuery("#imagemoon").html("<img alt='' src='http://www.umoon.it/wp-content/uploads/imgmoon/7.png' />");} 
     else if (b == 7) {b = 'Luna calante';  jQuery("#imagemoon").html("<img alt='' src='http://www.umoon.it/wp-content/uploads/imgmoon/8.png' />");} 
 
 
 
 
 
 
     jQuery("#model").html(b);
 
 
 
}
 
 
 
 
 
 
 
 
 
 
               </script>

Add Comment

Required fields are marked *. Your email address will not be published.