Resta de 2 Fechas enJS o PHP

(1/1)

celest275:
Estoy trabajando en un formulario con 2 input tipo date, donde selecciono una fecha inicial, y fecha final, y quería obtener la resta de ambas fechas, y que lo coloque en otro input por medio de javascript,

Ejemplo si en el primer input selecciono la fecha 20/02/2021 y el el segundo input selecciono 15/02/21 obtenga la resta de 5

Código
<!DOCTYPE html>
<html>
   <head>
       <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
   </head>
   <body>
       <input type="date" name="fecha_Inicial" id="fecha_Inicial">
       <input type="date" name="fecha_Final" id="fecha_Final">
       <input type="text" name="resta" id="resta">
   </body>
 
</html>

En JS tengo

Código
    $("#fecha_Inicial, #fecha_Final,#resta").change(function(){
 
   var FechaInicial =  $("#fecha_Inicial").val();
 
   var FechaFinal = $("#fecha_Final").val();
 
 
   var diferencia = Math.abs(fecha_Inicial.getTime()-fecha_Final.getTime());
 
       $("#resta").val(diferencia);
 

Pero no obtengo nada

Xyzed:
Hola, te arme algo rápído.

Código
<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
</head>
<body>
<form action="">
<input type="date" name="fecha_Inicial" id="fecha_Inicial">
<input type="date" name="fecha_Final" id="fecha_Final">
<input type="text" name="resta" id="resta">
<!-- Agrego boton con el parametro "onclick" para ejecutar funcion JS.-->
<input type="button" value="cambiar" Onclick="cambiar()">
</form>
</body>
</html>
 

Código
//Funcion de javascript.
function cambiar() {
//Obtenemos el valor de la fecha "inicial" mediante el id y lo asignamos como "dia1".
var valor = document.getElementById("fecha_Inicial").value;
var dia1 = new Date(valor);
 
 
//Obtenemos el valor de la fecha "final" mediante el id y lo asignamos como "dia2".
var valor2 = document.getElementById("fecha_Final").value;
var dia2 = new Date(valor2);
 
 
//Utilizamos "Math_abs" para realizar la cuenta y seteamos como "dias" la variable que tendrá el valor obtenido.
var diferencia= Math.abs(dia2-dia1);
dias = diferencia/(1000 * 3600 * 24)
 
 
//Definimos a "cambiar" como la variable que leerá el id "resta" de los inputs (botón que agregue para realizar el procedimiento mediante Onclick).
var cambiar = document.getElementById("resta");
 
 
//Cambiamos el valor del input id "resta" dandole como resultado el valor "dias" (variable utilizada para obtener la diferencia).
cambiar.value = dias+" dias.";
}
 

PD: Evite la tabulación debido a que me salían caracteres extraños al colocar la sangría, qué raro.

Navegación

[0] Índice de Mensajes