necesito su ayuda es urgente

ESTHER
31 de Julio del 2003
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

julian
31 de Julio del 2003
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.

Zulu
31 de Julio del 2003
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