restar un dia a fechas calculadas..
Publicado por Eduardo Arroyo (185 intervenciones) el 27/07/2024 16:39:33
Hola espero estén muy bien.. tengo el siguiente código que lo que hace es como una especie de calculadora de fechas...
por ejemplo hace el calculo dependiendo del numero de meses y la fecha inicial.. me muestra el calculo de los dias que se cuentan para finalizar y el preaviso el código lo hace mas o menos perfecto pues quiero restar un dia al calculo que hace en la fecha Finaliza y también restar un día al calculo de la fecha Preaviso..
acá pongo el código..
por ejemplo hace el calculo dependiendo del numero de meses y la fecha inicial.. me muestra el calculo de los dias que se cuentan para finalizar y el preaviso el código lo hace mas o menos perfecto pues quiero restar un dia al calculo que hace en la fecha Finaliza y también restar un día al calculo de la fecha Preaviso..
acá pongo el código..
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
26
27
28
29
<p>Meses:
<input name="duracion" type="number" id="duracion" value="" size="5" style="width:40px" autocomplete="off" class="validar" onChange = "calcularFin()" required onKeyPress="nextFocus('duracion', 'fechainicial')">
Inicia:
<input style="width: 120px;" name="fechainicial" type="date" id="fechainicial" size="60" max="9999-12-31" class="validar" onChange = "calcularFin()" onKeyPress="nextFocus('fechainicial', 'fechafinal')" required>
Finaliza:
<input style="width: 120px;" name="fechafinal" max="9999-12-31" type="date" id="fechafinal" value="" size="40" class="validar" required onkeypress="nextFocus('fechafinal', 'userfile')">
Preaviso:
<input style="width: 120px;" max="9999-12-31" name="fechapreaviso" type="date" id="fechapreaviso" size="40" onkeypress="nextFocus('fechapreaviso', 'archivopreaviso')">
</p>
<script>
const imeses = document.getElementById('duracion');
const ifechainicial = document.getElementById('fechainicial');
const ifechafinal = document.getElementById('fechafinal');
const ifpreaviso = document.getElementById('fechapreaviso');
function calcularFin() {
let meses = imeses.valueAsNumber;
let fechaini = ifechainicial.valueAsDate;
let fechafin = new Date(fechaini.setUTCMonth(fechaini.getUTCMonth()+meses));
fechafinal.valueAsDate = fechafin;
const menosUnmes = new Date(fechafin.setUTCMonth(fechafin.getMonth()-1));
ifpreaviso.valueAsDate = new Date(menosUnmes.setUTCDate(menosUnmes.getUTCDate()-10));
}
calcularFin();
</script>
Valora esta pregunta


0