Foros del Web » Programando para Internet » Javascript »

como saber cuantos días tiene mes getMonth();

Estas en el tema de como saber cuantos días tiene mes getMonth(); en el foro de Javascript en Foros del Web. como saber cuantos días tiene mes var mes= new Date(); MES=mes.getMonth(); document.write(MES+"<br />"); aquí imprimo el mes en que estamos pero no se como sacar ...
  #1 (permalink)  
Antiguo 11/09/2013, 05:47
Avatar de jor_0203  
Fecha de Ingreso: octubre-2011
Ubicación: mexico
Mensajes: 760
Antigüedad: 12 años, 6 meses
Puntos: 8
como saber cuantos días tiene mes getMonth();

como saber cuantos días tiene mes

var mes= new Date();
MES=mes.getMonth();
document.write(MES+"<br />");


aquí imprimo el mes en que estamos
pero no se como sacar los días que tiene

Esto tal vez te sirva, hay un fenómeno terrestre llamado movimiento de traslación, es decir es un movimiento por el cual el planeta Tierra gira en una órbita alrededor del Sol. En 365 días con 6 horas, (aproximadamente), esas 6 horas se acumulan cada año, transcurridos 4 años, se convierte en 24 horas (1 día). Es por eso que cada cuatro años hay un año que tiene 366 días, al que se denomina año bisiesto.
Saludo

Última edición por jor_0203; 11/09/2013 a las 07:13
  #2 (permalink)  
Antiguo 11/09/2013, 07:31
Avatar de loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 15 años, 6 meses
Puntos: 175
Respuesta: como saber cuantos días tiene mes getMonth();

NO tendrías que crear más post para que te respondan... Amigo, genial tu explicación de astro física, pero a parte de contar días y demás, por qué no nos explicas que estás fabricando, cuál es tu proyecto, de repente se abren otras posibilidades que no sea exclusivamente usar GET MONTH (que saca el mes, no los días de un año X)
__________________
Ayudo con lo que puedo en el foro, y solo en el foro.. NO MENSAJES PRIVADOS.. NO EMAILS NI SKYPE u OTROS.

Antes de hacer un TOPICO piensa si puedes hallarlo en Google o en el Buscador del Foro...

Última edición por loncho_rojas; 11/09/2013 a las 07:40
  #3 (permalink)  
Antiguo 11/09/2013, 07:39
Avatar de loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 15 años, 6 meses
Puntos: 175
Respuesta: como saber cuantos días tiene mes getMonth();

Esta es una función que me calcula diferencia entre 2 fechas, tomando en cuenta años biciestos, que al Javascript se le escapan... no se si te soluciona la vida, pero te puede servir para marearte una rato y ver su comportamiento..

Código Javascript:
Ver original
  1. // JavaScript Document
  2. function mostrarDias(){
  3.    
  4.     var fechaInicio = document.getElementById("fechaInicio").value;
  5.     var fechaFin = document.getElementById("fechaFin").value;
  6.  
  7.     if (fechaInicio.length != 10 || fechaFin.length != 10){
  8.         document.getElementById("diasDisfrutados").value = 0;
  9.     }
  10.    
  11.     else{
  12.        
  13.         //Separamos las fechas en dias, meses y años
  14.         var diaInicio=fechaInicio.substring(0,2);
  15.         var mesInicio=fechaInicio.substring(3,5);
  16.         var anoInicio=fechaInicio.substring(6,10);
  17.        
  18.         var diaFin=fechaFin.substring(0,2);
  19.         var mesFin=fechaFin.substring(3,5);
  20.         var anoFin=fechaFin.substring(6,10);
  21.            
  22.         //Los meses empiezan en 0 por lo que le restamos 1
  23.         mesFin = mesFin -1;
  24.         mesInicio = mesInicio -1;
  25.        
  26.         //Creamos una fecha con los valores que hemos sacado
  27.         var fInicio =  new Date(anoInicio,mesInicio,diaInicio);
  28.         var fFin =  new Date(anoFin,mesFin,diaFin);
  29.        
  30.         diasTotal = 0;
  31.    
  32.         if(fFin>fInicio){
  33.            
  34.             //Para sumarle 365 días tienen que haber 2 años de diferencia
  35.             //Si no solamente sumo los días entre meses
  36.             anoInicio++;
  37.             while(anoFin>anoInicio){
  38.            
  39.             alert("Entro aquí si hay dos años de diferencia");
  40.            
  41.             if(esBisiesto(anoFin))
  42.             {
  43.                 dias_e_anio=366;
  44.             }
  45.             else
  46.                 {
  47.                     dias_e_anio=365;
  48.                 }
  49.             diasTotal = diasTotal + dias_e_anio;
  50.             anoFin--;
  51.             }
  52.            
  53.             //Para sumarle los días de un mes completo, tengo que ver que haya diferencia de 2 meses
  54.             mesInicio++;           
  55.             while(mesFin>mesInicio){
  56.                 dias_e_mes = getDays(mesFin-1,anoFin);
  57.                 diasTotal = diasTotal + dias_e_mes;
  58.                 mesFin--;
  59.             }
  60.            
  61.             //Solamente falta sumar los días
  62.             mesInicio--;
  63.             if(mesInicio==mesFin){
  64.                 diasTotal=diaFin-diaInicio+1;
  65.             }
  66.             else{
  67.                
  68.                 //Saco los días desde el mesInicio hasta fin de mes
  69.                 dias_e_mes=getDays(mesInicio,anoInicio);
  70.                 diasTotal = diasTotal + (dias_e_mes-diaInicio) +1;
  71.                 //ahora saco los días desde el principio de mesFin hasta el día
  72.                 diasTotal = diasTotal + parseInt(diaFin);
  73.                
  74.             }          
  75.         }
  76.        
  77.         //Si la fechaFin es mayor
  78.         else if (fechaFin<fechaInicio){
  79.             alert("La fecha de fin no puede ser mayor que la fecha de inicio");
  80.             diasTotal=0;       
  81.         }
  82.        
  83.         //Si las fechas son iguales
  84.         else{
  85.             diasTotal = 1;
  86.         }
  87.  
  88.     }
  89. }
  90.  
  91. function esBisiesto(ano) {
  92.     if (ano % 4 == 0)
  93.     return true
  94.     /* else */
  95.     return false
  96. }
  97.  
  98. function getDays(month, year) {
  99.  
  100.     var ar = new Array(12)
  101.     ar[0] = 31 // Enero
  102.     if(esBisiesto)
  103.         {
  104.             ar[1]=29
  105.         }
  106.     else
  107.         {
  108.             ar[1]=28
  109.         }
  110.     ar[2] = 31 // Marzo
  111.     ar[3] = 30 // Abril
  112.     ar[4] = 31 // Mayo
  113.     ar[5] = 30 // Junio
  114.     ar[6] = 31 // Julio
  115.     ar[7] = 31 // Agosto
  116.     ar[8] = 30 // Septiembre
  117.     ar[9] = 31 // Octubre
  118.     ar[10] = 30 // Noviembre
  119.     ar[11] = 31 // Diciembre
  120.  
  121.     return ar[month];
  122.     }
__________________
Ayudo con lo que puedo en el foro, y solo en el foro.. NO MENSAJES PRIVADOS.. NO EMAILS NI SKYPE u OTROS.

Antes de hacer un TOPICO piensa si puedes hallarlo en Google o en el Buscador del Foro...
  #4 (permalink)  
Antiguo 11/09/2013, 07:57
Avatar de jor_0203  
Fecha de Ingreso: octubre-2011
Ubicación: mexico
Mensajes: 760
Antigüedad: 12 años, 6 meses
Puntos: 8
Respuesta: como saber cuantos días tiene mes getMonth();

Cita:
Iniciado por loncho_rojas Ver Mensaje
Esta es una función que me calcula diferencia entre 2 fechas, tomando en cuenta años biciestos, que al Javascript se le escapan... no se si te soluciona la vida, pero te puede servir para marearte una rato y ver su comportamiento..

Código Javascript:
Ver original
  1. // JavaScript Document
  2. function mostrarDias(){
  3.    
  4.     var fechaInicio = document.getElementById("fechaInicio").value;
  5.     var fechaFin = document.getElementById("fechaFin").value;
  6.  
  7.     if (fechaInicio.length != 10 || fechaFin.length != 10){
  8.         document.getElementById("diasDisfrutados").value = 0;
  9.     }
  10.    
  11.     else{
  12.        
  13.         //Separamos las fechas en dias, meses y años
  14.         var diaInicio=fechaInicio.substring(0,2);
  15.         var mesInicio=fechaInicio.substring(3,5);
  16.         var anoInicio=fechaInicio.substring(6,10);
  17.        
  18.         var diaFin=fechaFin.substring(0,2);
  19.         var mesFin=fechaFin.substring(3,5);
  20.         var anoFin=fechaFin.substring(6,10);
  21.            
  22.         //Los meses empiezan en 0 por lo que le restamos 1
  23.         mesFin = mesFin -1;
  24.         mesInicio = mesInicio -1;
  25.        
  26.         //Creamos una fecha con los valores que hemos sacado
  27.         var fInicio =  new Date(anoInicio,mesInicio,diaInicio);
  28.         var fFin =  new Date(anoFin,mesFin,diaFin);
  29.        
  30.         diasTotal = 0;
  31.    
  32.         if(fFin>fInicio){
  33.            
  34.             //Para sumarle 365 días tienen que haber 2 años de diferencia
  35.             //Si no solamente sumo los días entre meses
  36.             anoInicio++;
  37.             while(anoFin>anoInicio){
  38.            
  39.             alert("Entro aquí si hay dos años de diferencia");
  40.            
  41.             if(esBisiesto(anoFin))
  42.             {
  43.                 dias_e_anio=366;
  44.             }
  45.             else
  46.                 {
  47.                     dias_e_anio=365;
  48.                 }
  49.             diasTotal = diasTotal + dias_e_anio;
  50.             anoFin--;
  51.             }
  52.            
  53.             //Para sumarle los días de un mes completo, tengo que ver que haya diferencia de 2 meses
  54.             mesInicio++;           
  55.             while(mesFin>mesInicio){
  56.                 dias_e_mes = getDays(mesFin-1,anoFin);
  57.                 diasTotal = diasTotal + dias_e_mes;
  58.                 mesFin--;
  59.             }
  60.            
  61.             //Solamente falta sumar los días
  62.             mesInicio--;
  63.             if(mesInicio==mesFin){
  64.                 diasTotal=diaFin-diaInicio+1;
  65.             }
  66.             else{
  67.                
  68.                 //Saco los días desde el mesInicio hasta fin de mes
  69.                 dias_e_mes=getDays(mesInicio,anoInicio);
  70.                 diasTotal = diasTotal + (dias_e_mes-diaInicio) +1;
  71.                 //ahora saco los días desde el principio de mesFin hasta el día
  72.                 diasTotal = diasTotal + parseInt(diaFin);
  73.                
  74.             }          
  75.         }
  76.        
  77.         //Si la fechaFin es mayor
  78.         else if (fechaFin<fechaInicio){
  79.             alert("La fecha de fin no puede ser mayor que la fecha de inicio");
  80.             diasTotal=0;       
  81.         }
  82.        
  83.         //Si las fechas son iguales
  84.         else{
  85.             diasTotal = 1;
  86.         }
  87.  
  88.     }
  89. }
  90.  
  91. function esBisiesto(ano) {
  92.     if (ano % 4 == 0)
  93.     return true
  94.     /* else */
  95.     return false
  96. }
  97.  
  98. function getDays(month, year) {
  99.  
  100.     var ar = new Array(12)
  101.     ar[0] = 31 // Enero
  102.     if(esBisiesto)
  103.         {
  104.             ar[1]=29
  105.         }
  106.     else
  107.         {
  108.             ar[1]=28
  109.         }
  110.     ar[2] = 31 // Marzo
  111.     ar[3] = 30 // Abril
  112.     ar[4] = 31 // Mayo
  113.     ar[5] = 30 // Junio
  114.     ar[6] = 31 // Julio
  115.     ar[7] = 31 // Agosto
  116.     ar[8] = 30 // Septiembre
  117.     ar[9] = 31 // Octubre
  118.     ar[10] = 30 // Noviembre
  119.     ar[11] = 31 // Diciembre
  120.  
  121.     return ar[month];
  122.     }
no imprime nada
y la puse asi






Código HTML:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  4. <title>Documento sin t&iacute;tulo</title>
  5. </head>
  6.  
  7.  
  8.  
  9.  
  10. <script type="text/javascript">
  11. function mostrarDias(){
  12.    
  13.     var fechaInicio = document.getElementById("fechaInicio").value;
  14.     var fechaFin = document.getElementById("fechaFin").value;
  15.  
  16.     if (fechaInicio.length != 10 || fechaFin.length != 10){
  17.         document.getElementById("diasDisfrutados").value = 0;
  18.     }
  19.    
  20.     else{
  21.        
  22.         //Separamos las fechas en dias, meses y años
  23.         var diaInicio=fechaInicio.substring(0,2);
  24.         var mesInicio=fechaInicio.substring(3,5);
  25.         var anoInicio=fechaInicio.substring(6,10);
  26.        
  27.         var diaFin=fechaFin.substring(0,2);
  28.         var mesFin=fechaFin.substring(3,5);
  29.         var anoFin=fechaFin.substring(6,10);
  30.            
  31.         //Los meses empiezan en 0 por lo que le restamos 1
  32.         mesFin = mesFin -1;
  33.         mesInicio = mesInicio -1;
  34.        
  35.         //Creamos una fecha con los valores que hemos sacado
  36.         var fInicio =  new Date(anoInicio,mesInicio,diaInicio);
  37.         var fFin =  new Date(anoFin,mesFin,diaFin);
  38.        
  39.         diasTotal = 0;
  40.    
  41.         if(fFin>fInicio){
  42.            
  43.             //Para sumarle 365 días tienen que haber 2 años de diferencia
  44.             //Si no solamente sumo los días entre meses
  45.             anoInicio++;
  46.             while(anoFin>anoInicio){
  47.            
  48.             alert("Entro aquí si hay dos años de diferencia");
  49.            
  50.             if(esBisiesto(anoFin))
  51.             {
  52.                 dias_e_anio=366;
  53.             }
  54.             else
  55.                 {
  56.                     dias_e_anio=365;
  57.                 }
  58.             diasTotal = diasTotal + dias_e_anio;
  59.             anoFin--;
  60.             }
  61.            
  62.             //Para sumarle los días de un mes completo, tengo que ver que haya diferencia de 2 meses
  63.             mesInicio++;            
  64.             while(mesFin>mesInicio){
  65.                 dias_e_mes = getDays(mesFin-1,anoFin);
  66.                 diasTotal = diasTotal + dias_e_mes;
  67.                 mesFin--;
  68.             }
  69.            
  70.             //Solamente falta sumar los días
  71.             mesInicio--;
  72.             if(mesInicio==mesFin){
  73.                 diasTotal=diaFin-diaInicio+1;
  74.             }
  75.             else{
  76.                
  77.                 //Saco los días desde el mesInicio hasta fin de mes
  78.                 dias_e_mes=getDays(mesInicio,anoInicio);
  79.                 diasTotal = diasTotal + (dias_e_mes-diaInicio) +1;
  80.                 //ahora saco los días desde el principio de mesFin hasta el día
  81.                 diasTotal = diasTotal + parseInt(diaFin);
  82.                
  83.             }          
  84.         }
  85.        
  86.         //Si la fechaFin es mayor
  87.         else if (fechaFin<fechaInicio){
  88.            alert("La fecha de fin no puede ser mayor que la fecha de inicio");
  89.            diasTotal=0;        
  90.        }
  91.        
  92.        //Si las fechas son iguales
  93.        else{
  94.            diasTotal = 1;
  95.        }
  96.  
  97.    }
  98. }
  99.  
  100. function esBisiesto(ano) {
  101.    if (ano % 4 == 0)
  102.    return true
  103.    /* else */
  104.    return false
  105. }
  106.  
  107. function getDays(month, year) {
  108.  
  109.    var ar = new Array(12)
  110.    ar[0] = 31 // Enero
  111.    if(esBisiesto)
  112.        {
  113.            ar[1]=29
  114.        }
  115.    else
  116.        {
  117.            ar[1]=28
  118.        }
  119.    ar[2] = 31 // Marzo
  120.    ar[3] = 30 // Abril
  121.    ar[4] = 31 // Mayo
  122.    ar[5] = 30 // Junio
  123.    ar[6] = 31 // Julio
  124.    ar[7] = 31 // Agosto
  125.    ar[8] = 30 // Septiembre
  126.    ar[9] = 31 // Octubre
  127.    ar[10] = 30 // Noviembre
  128.    ar[11] = 31 // Diciembre
  129.  
  130.    return ar[month];
  131.    }
  132.  
  133.  
  134. </body>
  135. </html>
  #5 (permalink)  
Antiguo 11/09/2013, 08:21
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: como saber cuantos días tiene mes getMonth();

buenas...

programaticamente, si te interesa saber cuantos dias tiene un mes, simplemente creas el objeto Date con el mes siguiente y el día 0. como el día 0 no existe en el calendario, javascript lo que hace es retroceder ese tiempo para así mostrar una fecha válida. por tanto, Date(2012, 2, 0), día 0 del mes marzo del 2012 equivale a febrero 29 del mismo año.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #6 (permalink)  
Antiguo 11/09/2013, 15:35
Avatar de jor_0203  
Fecha de Ingreso: octubre-2011
Ubicación: mexico
Mensajes: 760
Antigüedad: 12 años, 6 meses
Puntos: 8
Respuesta: como saber cuantos días tiene mes getMonth();

esta es una forma pero como se haria con javascritp
<?php
$elMes="10";
$elAnio="2013";
echo mktime(10,50,0,$elMes,1,$elAnio);
?>
  #7 (permalink)  
Antiguo 12/09/2013, 05:59
Avatar de jor_0203  
Fecha de Ingreso: octubre-2011
Ubicación: mexico
Mensajes: 760
Antigüedad: 12 años, 6 meses
Puntos: 8
Respuesta: como saber cuantos días tiene mes getMonth();

Cita:
Iniciado por zerokilled Ver Mensaje
buenas...

programaticamente, si te interesa saber cuantos dias tiene un mes, simplemente creas el objeto Date con el mes siguiente y el día 0. como el día 0 no existe en el calendario, javascript lo que hace es retroceder ese tiempo para así mostrar una fecha válida. por tanto, Date(2012, 2, 0), día 0 del mes marzo del 2012 equivale a febrero 29 del mismo año.
con esto no sale los dias que tiene el mes
sale esto
Thu Sep 12 2013 07:03:24 GMT-0500 (Hora de verano central (México))
  #8 (permalink)  
Antiguo 12/09/2013, 06:36
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: como saber cuantos días tiene mes getMonth();

obviamente te falta el keyword new, de lo contrario Date devuelve un string de la fecha y hora actual.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #9 (permalink)  
Antiguo 12/09/2013, 10:01
Avatar de jor_0203  
Fecha de Ingreso: octubre-2011
Ubicación: mexico
Mensajes: 760
Antigüedad: 12 años, 6 meses
Puntos: 8
Respuesta: como saber cuantos días tiene mes getMonth();

Cita:
Iniciado por zerokilled Ver Mensaje
obviamente te falta el keyword new, de lo contrario Date devuelve un string de la fecha y hora actual.
hola asi lo puse y no me sale
que es lo que me falta o que estoy haciendo mal
Código HTML:
Ver original
  1. <script type="text/javascript">
  2. s=new Date(2012, 2, 0)
  3. document.write(s);
  4.  
  #10 (permalink)  
Antiguo 12/09/2013, 10:14
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: como saber cuantos días tiene mes getMonth();

lee el contenido impreso. write debe escribir el objeto Date transformado a string. es decir, tendrás una fecha compuesta de año, dia, hora, etc. si miras el dia, debe mostrar 29.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.

Etiquetas: Ninguno
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 02:30.