Resta de 2 Fechas enJS o PHP

Iniciado por celest275, 18 Marzo 2021, 07:31 AM

0 Miembros y 1 Visitante están viendo este tema.

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 (html5) [Seleccionar]
<!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 (javascript) [Seleccionar]
    $("#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

#1
Hola, te arme algo rápído.

Código (html4strict) [Seleccionar]

<!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 (javascript) [Seleccionar]

//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.
...