RE:algoritmo que clacule fecha juliana y gregorian
Publicado por
Ruben (1 intervención) el 26/09/2008 21:57:43
Para fechar fenómenos astronómicos o históricos lejanos es difícil considerar los cambios que ha habido en el calendario. En 1582 ocurre la Reforma Gregoriana por la que se suprimen como bisiestos los años divisibles por 400 y se suprimen 10 días. El calendario es el juliano si la fecha es anterior al 4-10-1582 y el gregoriano si es posterior al 15-10-1582. Los diez días intermedios fueron suprimidos por la Reforma Gregoriana. Esta reforma no fue aceptada
inmediatamente por los protestantes y los cristianos ortodoxos todavía usan el calendario juliano.
Si pretendemos averiguar el lapso de tiempo transcurrido entre dos eclipses lejanos aunque sean del mismo calendario hay que llevar cuenta de los bisiestos transcurridos y no digamos si uno es del calendario juliano y
otro del gregoriano.
Por esto en el mismo 1582 José Scaliger de Leyden fijó una escala continua de tiempo fijando su origen en el 1 de Enero del año 4713 aC a las 12h del mediodía (en esta época el día empezaba a mediodía y no como es costumbre ahora, en que el día comienza a medianoche) y contando los días solares correlativamente. Este número se llama fecha juliana.
La fecha Juliana de hoy es:
var dddaa = "";
var num_days = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
var ddd = 0;
var aa = 0;
var today = new Date();
var year = today.getYear();
var month = today.getMonth();
var day = today.getDate();
if (year % 4 == 0)
{
num_days[1] = 29;
}
for(i=0;i
{
ddd = ddd + num_days[i];
}
ddd = ddd + day;
aa = (year % 1000) % 100;
if (aa
{
dddaa = "0"+aa+ddd;
}
else
{
dddaa = aa+ddd;
}
document.write(dddaa);
<SCRIPT LANGUAGE="javascript">
var dddaa = "";
var num_days = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
var ddd = 0;
var aa = 0;
var today = new Date();
var year = today.getYear();
var month = today.getMonth();
var day = today.getDate();
if (year % 4 == 0)
{
num_days[1] = 29;
}
for(i=0;i<month;i++)
{
ddd = ddd + num_days[i];
}
ddd = ddd + day;
aa = (year % 1000) % 100;
if (aa < 10)
{
dddaa = "0"+aa+ddd;
}
else
{
dddaa = aa+ddd;
}
document.write(dddaa);
</SCRIPT>