necesito su ayuda es urgente
necesito hacer una agenda con programacion en asp y no se como hacerla ya que implica muchas cosasque tomar en cuenta tales ao, mes dias, tomar en cuenta siel ao es bisiesto, si el mes trae 30 o 31 dias.
la verdadn necesito su ayuda
la verdadn necesito su ayuda
hola, recuerdo que habia una funcion(no recuerdo el lenguaje) que hacia algo parecido. Aparte el calendario que tenemos es el gregoriano, prueba a ver si existe alguna formula matematica que solucione tu problema(google...), es seguro que la hay. Si no:
para los meses: 30{4,6,9,11}
28{2} si bis +1
31{1,3,5,7,8,10,12}
Los aos bisiestos son cada 4 aos, por lo que si partes de uno que lo sea...., ten cuidado que habia una excepcion a la regla, no se si a los 500, 1000, 2000 aos o algo asi se producia otro ao aunque no cuadrase.
Espero que te sirva.
para los meses: 30{4,6,9,11}
28{2} si bis +1
31{1,3,5,7,8,10,12}
Los aos bisiestos son cada 4 aos, por lo que si partes de uno que lo sea...., ten cuidado que habia una excepcion a la regla, no se si a los 500, 1000, 2000 aos o algo asi se producia otro ao aunque no cuadrase.
Espero que te sirva.
el calendario gregoriano dice que "un ao es bisiesto s es mltiple de 4 pero no lo es de 100 O si es mltiplo de 400"; el 2000 es bisiesto pero el 2100 no lo ser; para una aplicacin sencilla quiz no te haga falta, ya que el prximo mltiplo de 100 no bisiesto es el 2100
Te pongo un pequeo ejemplo de como se incrementara el da de un mes, a partir de 3 contadores; dia, mes y anyo; el mes se guarda en formato 0, 1, 2... siendo 0 enero, 1 febrero, 11 diciembre
'-------
if dia < 28 then
' da inferior a 28; no hay problemas de lmites
dia = dia + 1
'-------
elseif dia = 28 _
and mes = 1 _
and EsBisiesto(anyo) = false then
' posible da de febrero no bisiesto;
' supongamos que la funcion EsBisiesto
' devuelve true si el ao es bisiesto
dia = 1
mes = mes +1
'-------
elseif dia = 29 _
and mes = 1 _
and EsBisiesto(anyo) = true then
' da de febrero bisiesto
' el EsBisiesto aqui no sera necesario
' aunque as queda mono, pero bueno
dia = 1
mes = mes + 1
'-------
elseif dia = 30 _
and (mes = 3 _
or mes = 5 _
or mes = 8 _
or mes = 10) then
' abril, junio, septiembre, noviembre
dia = 1
mes = mes + 1
'-------
elseif dia = 31 then
' el resto; con un else valdra
dia = 1
' comprobamos si el mes es diciembre;
' si es as, el mes pasa a ser enero
' y el ao aumenta en uno
if mes = 11 then
mes = 0
anyo = anyo + 1
end if
'-------
end if
function EsBisiesto(anyo)
'calendario gregoriano;
if (anyo mod 4 = 0 and anyo mod 100 <> 0) or (anyo mod 400 = 0) then
EsBisiesto = true
else
EsBisiesto = false
end if
end function
Te pongo un pequeo ejemplo de como se incrementara el da de un mes, a partir de 3 contadores; dia, mes y anyo; el mes se guarda en formato 0, 1, 2... siendo 0 enero, 1 febrero, 11 diciembre
'-------
if dia < 28 then
' da inferior a 28; no hay problemas de lmites
dia = dia + 1
'-------
elseif dia = 28 _
and mes = 1 _
and EsBisiesto(anyo) = false then
' posible da de febrero no bisiesto;
' supongamos que la funcion EsBisiesto
' devuelve true si el ao es bisiesto
dia = 1
mes = mes +1
'-------
elseif dia = 29 _
and mes = 1 _
and EsBisiesto(anyo) = true then
' da de febrero bisiesto
' el EsBisiesto aqui no sera necesario
' aunque as queda mono, pero bueno
dia = 1
mes = mes + 1
'-------
elseif dia = 30 _
and (mes = 3 _
or mes = 5 _
or mes = 8 _
or mes = 10) then
' abril, junio, septiembre, noviembre
dia = 1
mes = mes + 1
'-------
elseif dia = 31 then
' el resto; con un else valdra
dia = 1
' comprobamos si el mes es diciembre;
' si es as, el mes pasa a ser enero
' y el ao aumenta en uno
if mes = 11 then
mes = 0
anyo = anyo + 1
end if
'-------
end if
function EsBisiesto(anyo)
'calendario gregoriano;
if (anyo mod 4 = 0 and anyo mod 100 <> 0) or (anyo mod 400 = 0) then
EsBisiesto = true
else
EsBisiesto = false
end if
end function