Foros del Web » Programando para Internet » Javascript »

saber la cantidad de dias de un determinado mes d cualquier año.

Estas en el tema de saber la cantidad de dias de un determinado mes d cualquier año. en el foro de Javascript en Foros del Web. Hola, hay alguna manera de q mediante de un JavaScript pueda saber cuantos dias tiene un mes correspondinte a algun año??, por ejemplo quiero sabes ...
  #1 (permalink)  
Antiguo 30/03/2004, 09:50
Avatar de Harper  
Fecha de Ingreso: diciembre-2003
Ubicación: Lima
Mensajes: 60
Antigüedad: 20 años, 4 meses
Puntos: 0
saber la cantidad de dias de un determinado mes d cualquier año.

Hola, hay alguna manera de q mediante de un JavaScript pueda saber cuantos dias tiene un mes correspondinte a algun año??, por ejemplo quiero sabes cuantos dias tuvo el mes 12 del año 2003..................... GRACIAS!
  #2 (permalink)  
Antiguo 30/03/2004, 10:34
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 4 meses
Puntos: 61
Bueno... creo que salvo en febrero es fácil saberlo.


Código PHP:
dias=[0,31,29,31,30,31,30,31,31,30,31,30,31];
function 
saber(mes,anio){
ultimo=0;
if (
mes==2){
fecha=new Date(anio,1,29)
vermes=fecha.getMonth();
if((
vermes+1)!=mes){ultimo=28}
}
if(
ultimo==0){ultimo=dias[mes]}
alert(ese mes tiene "+ultimo+" días.");

__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #3 (permalink)  
Antiguo 30/03/2004, 10:39
Avatar de Harper  
Fecha de Ingreso: diciembre-2003
Ubicación: Lima
Mensajes: 60
Antigüedad: 20 años, 4 meses
Puntos: 0
Gracias por tu respuesta KarlanKas es muy buena , pero no hay alguna funcion de java script q me pueda determinar ese valor, indicandole el mes y año??
  #4 (permalink)  
Antiguo 30/03/2004, 10:40
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 4 meses
Puntos: 61
Un ejemplo con el script un poco mejorado:
Código PHP:
<html>
<
head>
    <
title>Untitled</title>
</
head>

<
body>
<
script>
dias=[31,29,31,30,31,30,31,31,30,31,30,31];
function 
saber(mes,anio){
ultimo=0;
if (
mes==1){
fecha=new Date(anio,1,29)
vermes=fecha.getMonth();
if(
vermes!=mes){ultimo=28}
}
if(
ultimo==0){ultimo=dias[mes]}
alert("ese mes tiene "+ultimo+" días.");
}

</script>
<form>
<select name=mes>
<option>Enero
<option>Febrero
<option>Marzo
<option>Abril
<option>Mayo
<option>Junio
<option>Julio
<option>Agosto
<option>Septiembre
<option>Octubre
<option>Noviembre
<option>Diciembre
</select>
 de <input name="ani" type="text" maxlength="4" size="4">
 <input type="button" value="comprobar" onclick="saber(document.forms[0].mes.selectedIndex,document.forms[0].ani.value)">
</form>
</body>
</html> 
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #5 (permalink)  
Antiguo 30/03/2004, 10:52
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 4 meses
Puntos: 61
Pues que yo sepa no. Revisa esta página para ver el objeto Date por si te ayuda.

Pero con lo que te he puesto te puedes crear el método. Así (recuerda que los meses empiezan a contar por el cero, es decir enero es el mes cero:

Código PHP:
<html>
<
head>
    <
title></title>
</
head>

<
body>
<
script>
dias=[31,29,31,30,31,30,31,31,30,31,30,31];
function 
diasDeMes(mes,anio){
ultimo=0;
if (
mes==1){
fecha=new Date(anio,1,29)
vermes=fecha.getMonth();
if(
vermes!=mes){ultimo=28}
}
if(
ultimo==0){ultimo=dias[mes]}
return 
ultimo
}

</script>
<script>document.write(diasDeMes(1,2004));</script>

</body>
</html> 
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.

Última edición por KarlanKas; 30/03/2004 a las 11:05
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:02.