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 año, mes dias, tomar en cuenta siel año 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 años bisiestos son cada 4 años, 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 años o algo asi se producia otro año aunque no cuadrase.
Espero que te sirva.

Zulu
31 de Julio del 2003
el calendario gregoriano dice que "un año es bisiesto sí es múltiple de 4 pero no lo es de 100 O si es múltiplo de 400"; el 2000 es bisiesto pero el 2100 no lo será; para una aplicación sencilla quizá no te haga falta, ya que el próximo múltiplo de 100 no bisiesto es el 2100

Te pongo un pequeño ejemplo de como se incrementaría el día 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

' día inferior a 28; no hay problemas de límites

dia = dia + 1

'-------
elseif dia = 28 _
and mes = 1 _
and EsBisiesto(anyo) = false then

' posible día de febrero no bisiesto;
' supongamos que la funcion EsBisiesto
' devuelve true si el año es bisiesto
dia = 1
mes = mes +1

'-------
elseif dia = 29 _
and mes = 1 _
and EsBisiesto(anyo) = true then

' día de febrero bisiesto
' el EsBisiesto aqui no sería 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 valdría

dia = 1

' comprobamos si el mes es diciembre;
' si es así, el mes pasa a ser enero
' y el año 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