Hay una forma de conocer la cantidad de días que tiene un determinado mes. ¿Alguien la recuerda para desaznarme???

Saludos!!!!
| |||
apañejos No conozco una función directa, utilizando funciones de fecha se me ocurren varias formas, por ejemplo: - En una función con On Error Resume Next, hacer un bucle desde el día 28 de ese mes hasta el 31. Controlando si el bucle termina correctamente o en qué momento da error puedes ver cuál es el último día del mes. - Dado un mes, se coge el primer día del mes siguiente y se le resta un día. A ver si te sirve. |
| ||||
mira, el unico problema que veo seria con febrero, ya que es el unico que cambia pero con que sepas el mes sabras los dias, es decir, con que sepas que el mes es 12 sabras que tiene 31 dias, solo faltaria saber los febreros en años bisistos, mismos que con una funcion podras sacarlo ya que indiferentemente es cada cuatro años...creo que esa seria la logica para hacerlo manualmente, no se si exista una forma mas facil o automatizada
__________________ CreandoWebs.com www.creandowebs.com PLANTILLAS TEMPLATEMONSTER CON 10% DE DESCUENTO |
| ||||
<% Function Diasenelmes(Mes, anio) Dim Valor Valor = DateAdd("d", -1, DateSerial(anio, Mes + 1, 1)) Diasenelmes = Day(Valor) End Function %> <%=Diasenelmes(1, 2005)%><br> <%=Diasenelmes(2, 2005)%><br> <%=Diasenelmes(3, 2005)%><br> <%=Diasenelmes(4, 2005)%><br> <%=Diasenelmes(5, 2005)%><br> <%=Diasenelmes(6, 2005)%><br> <%=Diasenelmes(7, 2005)%><br> <%=Diasenelmes(8, 2005)%><br> <%=Diasenelmes(9, 2005)%><br> <%=Diasenelmes(10, 2005)%><br> <%=Diasenelmes(11, 2005)%><br> <%=Diasenelmes(12, 2005)%><br> miren en la biblioteca de funcoines hay bastantes que nos ayudan mucho.. suerte. esta la acaabarond de poner.
__________________ Control de Visitantes, Control de Accesos, Minutas digitales, Manejo de Correspondencia http://www.controldevisitantes.com |
| ||||
cierto tienes razon.
__________________ Control de Visitantes, Control de Accesos, Minutas digitales, Manejo de Correspondencia http://www.controldevisitantes.com |
| ||||
Chicos mil gracias!!!! Hasta hace un tiempo recuerdo que me habían pasado una rutina que con solamente 4 o 5 líneas me daba todos los días exactos, pero que merd! la perdí. Así que lo resolví usando esto (lo dejo por si sirve a alguien aunque hay que modificar el tema de febrero para saber si es de 28 o 29): <% Dim thisMes(12) thisMes(0) = 0 thisMes(1) = 31 thisMes(2) = 28 thisMes(3) = 31 thisMes(4) = 30 thisMes(5) = 31 thisMes(6) = 30 thisMes(7) = 31 thisMes(8) = 31 thisMes(9) = 30 thisMes(10) = 31 thisMes(11) = 30 thisMes(12) = 31 CantDiasMes = CInt(thisMes(Month(Date()))) %> No se rían del "thisMes" ![]() Con esa rutina lo único que hago es saber que cantidad de días tiene el mes actual, pero, para cualquier mes, basta con colocar como índice el número de mes: CInt(thisMes(Month(3))) --> corresponde a marzo, etc... Si a alguien le sirve, acá la dejo. Besos y mil gracias!! |
| |||
Una cosilla: Los años bisiestos no son siempre cada 4 años... Años bisiestos son los múltiplos de 4, y los múltiplos de 100 que a la vez lo sean de 400. Es decir, que el año 2000 si seria bisiesto, pero por ejemplo el 1900 no. |
| ||||
Cita: Otra forma de decirlo:
Iniciado por PosDon Años bisiestos son los múltiplos de 4, y los múltiplos de 100 que a la vez lo sean de 400. Es decir, que el año 2000 si seria bisiesto, pero por ejemplo el 1900 no. Los años bisiestos son aquellos divisibles entre 4 pero que no lo sean de 100 a menos que también lo sean de 400. ![]() |
| ||||
bueno, como sugerencia seria bueno hacer una funcion con todos los datos aqui pasados, incluyendo los años bisiestos y ademas los dias de cada mes.. y la inclumos en la biblioteca de funciones.
__________________ Control de Visitantes, Control de Accesos, Minutas digitales, Manejo de Correspondencia http://www.controldevisitantes.com |
| ||||
iba a morir creyendo que era cada 4 años siempre....habra que saber bien primero cual es la forma normal de sacar un año bisiesto para luego hacer una funcion que lo haga automaticamente
__________________ CreandoWebs.com www.creandowebs.com PLANTILLAS TEMPLATEMONSTER CON 10% DE DESCUENTO |
| ||||
la formula es exactamente como lo dice Myakire asi es: solo falta implementarlo en funcion uniendolo con las funcion de TurKa
__________________ Control de Visitantes, Control de Accesos, Minutas digitales, Manejo de Correspondencia http://www.controldevisitantes.com |
| ||||
Cita: ¿Cómo está eso?, NUNCA han sido 4 cada cuatro años exactamente por la misma razón del por que existe el año bisiesto: por que la rotación/traslación de la tierra no es exactamente 24 horas ni 365 días (de hecho la rotación no afecta pero es bueno saberlo). Hay una pequeña diferencia que al acumularla genera el año bisiesto.sjam7 que yo sepa los años bisiestos son cada 4 años siempre. ¿O lo han cambiado? Para saber si un año es bisiesto basta con hacer un IF:
Código:
IF ( (numero MOD 400 = 0) OR ((numero MOD 4 = 0) AND (numero MOD 100 <> 0)) ) Then Response.Write "Es Bisiesto" Else Response.Write "NO Es Bisiesto" End IF |
| |||
Pues si teniais razon: AÑO BISIESTO Este año es año bisiesto, esto quiere decir que este año tiene 366 días en vez de 365. Esto hace que el año calendario se mantiene según las estaciones del año. En los años bisiesto, febrero tiene 29 días en vez de 28. La tierra tarda 365,256 dias en darle la vuelta al sol. Por eso, cada 4 años, necesitamos un año bisiesto, para que las estaciones no se confundan, y el primer día de primavera, por ejemplo, siga siendo el 21 de marzo. Si todos los años solo contasemos 365 días, después de 12 años estaríamos 3 días desfasados.... En el año 46 antes de Cristo, Julius Caesar aprobó el calendario juliano que incorporó el año bisiesto. Su sucesor, el Calendario Gregoriano, incluyó años bisiestos cada cuatro años, según un ciclo de 400 años. La mayoría de países iba adoptando este calendario, fijando el primer día del año en el 1 de enero. El calendario gregoriano, así denominado por ser su promotor el papa Gregorio XIII, vino a sustituir en 1582 al calendario juliano utilizado desde que Julio César lo instaurase en el año 45 adC. La reforma gregoriana surge como necesidad de llevar a la práctica uno de los acuerdos del concilio de Trento: el de ajustar el calendario para eliminar el desfase producido desde un concilio anterior, el de Nicea de 325, en el que se había fijado el momento astral en que debía celebrarse la Pascua y, en relación con ésta, las demás fiestas religiosas móviles. Lo que importaba, pues, era la regularidad del calendario litúrgico, para lo cual era preciso introducir determinadas correcciones en el civil. En el concilio de Nicea se determinó que se conmemorase la Pascua el domingo siguiente al plenilunio posterior al equinoccio de primavera. Aquel año 325 el equinoccio había ocurrido el día 21 de marzo (*), pero con el paso del tiempo ese evento se había ido adelantando hasta el punto de que en 1582, fecha en la que se introdujo el nuevo calendario, el desfase era ya de 10 días. Este desacuerdo provenía de un inexacto cómputo del número de días con que cuenta el año astronómico; según el calendario juliano que instituyó un año bisiesto cada cuatro, el año astronómico estaba constituido por 365,25 días, mientras que la cifra correcta es de 365,2422454, o lo que es lo mismo, 365 días, 5 horas, 48 minutos y 45,5 segundos. Esos más de 11 minutos de diferencia anual habían supuesto en los 1257 años que mediaban entre 1582 y 325 un error acumulado de aproximadamente 10 días. Decretó, pues, Gregorio XIII que el día siguiente al jueves 4 de octubre de 1582 pasase a ser el viernes día 15 de ese mes y año, con lo que dejaron de vivirse los días intermedios; para paliar en lo sucesivo los erróneos efectos del calendario juliano, el gregoriano propuso que los años centenarios no fuesen bisiestos, con excepción de los múltiplos de 400. |
| ||||
![]() HOLAS ![]() YO TAMBIEN SOY NOOB ASI QUE TOY UNA MANO ![]() TAMBIEN PODRIAS USAR ESTE CODIGO Private Function Dias_M(Mes, Ano) Select Case Mes Case 1, 3, 5, 7, 8, 10, 12 Dias_m = 31 Case 4, 6, 9, 11 Dias_m = 30 Case 2 If IsDate("Febrero 29, " & ano) Then Dias_m = 29 Else Dias_m = 28 End SelectEnd If End Function CLARO ANTES DE INVOCARLO DAR VALORES A Mes, Ano ![]() BYE BYE ![]() Última edición por CH4SK4; 04/02/2005 a las 14:50 |