JavaScript - Calcular la cantidad de días entre dos fechas Javascript y HTML

   
Vista:

Calcular la cantidad de días entre dos fechas Javascript y HTML

Publicado por alvin alvinluperon@gmail.com (5 intervenciones) el 23/03/2017 19:49:15
Tengo la siguiente función en javascript para calcular los días y funciona correctamente. pero necesito que sea dinámico. que capture el valor de dos input tipo date de html y realice el calculo. de antemano le agradezco cualquier tipo de ayuda.

1
2
3
4
5
6
7
8
/*esta es la función estática*/
function calcular(){
	var fechaini = new Date('2016-07-01');
	var fechafin = new Date('2016-08-01');
	var diasdif= fechafin.getTime()-fechaini.getTime();
	var contdias = Math.round(diasdif/(1000*60*60*24));
	alert(contdias);
}

Aquí tengo la función, pero capturo el valor de 2 input type=date en html, pero no me funciona y no entiendo el porque.

1
2
3
4
5
6
7
8
/*esta es la función dinámica que no funciona*/
function calcular(){
         var fechaini = getElementById('fechaini').value;
         var fechafin = getElementById('fechafin').value;
         var diasdif= fechafin.getTime()-fechaini.getTime();
         var contdias = Math.round(diasdif/(1000*60*60*24));
         alert(contdias);
}

Aqui el código html de donde capturo el valor de los date por ID

1
2
3
4
5
6
/*codigo html para realizar el calculo*/
<form id= "fomr1" method="post">
<input type="date" id="dateini" min="<?php echo date("Y-m-d");?>" value="<?php echo date("Y-m-d");?>">
<input type="date" id="datefin" min="<?php echo date("Y-m-d");?>" value="<?php echo date("Y-m-d");?>">
<input type="submit" id="txtcalcular" onclick="calcular()">
</form>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve

Calcular la cantidad de días entre dos fechas Javascript y HTML

Publicado por xve (1913 intervenciones) el 23/03/2017 22:02:28
Hola Alvin, estas cogiendo los valores erroneamente...

en vez de fechaini, se llama dateini, y igual te ocurre con fechafin, tiene que ser datefin:
1
2
var fechaini = getElementById('dateini').value;
var fechafin = getElementById('datefin').value;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
-1
Comentar

Calcular la cantidad de días entre dos fechas Javascript y HTML

Publicado por alvin (5 intervenciones) el 23/03/2017 22:11:05
Lo siento amigo, pero fue que lo copie mal pero en realidad lo tengo como lo pusiste y no funciona. pero gracias por responder
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

Calcular la cantidad de días entre dos fechas Javascript y HTML

Publicado por xve (1913 intervenciones) el 24/03/2017 07:59:10
Hola Alvin, he revisado el código y tienes varios errores... aquí te adjunto el código completo modificado y funcionando

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<!DOCTYPE html>
<html>
<head>
</head>
 
<body>
 
<form>
	<input type="date" id="dateini" min="<?php echo date("Y-m-d");?>" value="<?php echo date("Y-m-d");?>">
	<input type="date" id="datefin" min="<?php echo date("Y-m-d");?>" value="<?php echo date("Y-m-d");?>">
	<input type="button" value="calcular" onclick="calcular()">
</form>
 
</body>
</html>
 
<script>
function calcular(){
	var fechaini = new Date(document.getElementById('dateini').value);
	var fechafin = new Date(document.getElementById('datefin').value);
	var diasdif= fechafin.getTime()-fechaini.getTime();
	var contdias = Math.round(diasdif/(1000*60*60*24));
	alert(contdias);
}
</script>

Recuerda que en ningún momento verificas que la fecha sea correcta, y que la fecha final sea posterior a la inicial.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Calcular la cantidad de días entre dos fechas Javascript y HTML

Publicado por alvin (5 intervenciones) el 24/03/2017 13:52:51
Gracias amigo, ya lo había resuelto con PHP para salir del paso. pero en realidad lo quería con javascript, a propósito existe alguna forma en javascript para aumentar la fecha a un input date dependiendo de otro input date, me explico.

1
2
3
4
5
6
7
8
9
10
11
12
/*tengo estos dos input date, que el primero tenga la fecha actual por defecto, pero el segundo tenga la fecha acutal mas un dias. y asi sucesivamente.

$date1=2017-03-24
$date2=2017-03-25

si cambio la fecha $date1 a 2017-03-28 que $date2 cambie inmediato a la fecha 2017-03-29, siempre sumando un día.
pero claro de forma dinámica no estática. con los dos input de abajo.

*/
 
<input type="date" id="dateini" min="<?php echo date("Y-m-d");?>" value="<?php echo date("Y-m-d");?>">
<input type="date" id="datefin" min="<?php echo date("Y-m-d");?>" value="<?php echo date("Y-m-d");?>">

Gracias por cualquier tipo de ayuda.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

Calcular la cantidad de días entre dos fechas Javascript y HTML

Publicado por xve (1913 intervenciones) el 24/03/2017 18:10:38
Hola Alvin, seria algo así:

1
2
3
4
5
6
7
8
9
10
<input type="date" id="dateini" min="<?php echo date("Y-m-d");?>" value="<?php echo date("Y-m-d");?>">
<input type="date" id="datefin" min="<?php echo date("Y-m-d");?>" value="<?php echo date("Y-m-d");?>">
<input type="button" value="copiar" onclick="modificar()">
 
<script>
function modificar()
{
	document.getElementById("datefin").value=document.getElementById("dateini").value;
}
</script>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar