Como restar fechas en Javascript
|A continuación les dejo un pequeño código escrito en Javascript que nos permite restar dos fechas y saber su diferencia en distintas medidas de tiempo.
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 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
<!DOCTYPE html> <html> <head> <title>Kiuvox - Restar fechas en Javascript</title> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <script type="text/javascript"> var d = new Date(); //establecemos la fecha de hoy /* d.getFullYear() extrae el año (d.getMonth() + 1 ) extrae el mes d.getDate() extrae el día. d.getHours() extrae la hora. d.getMinutes() extrae el minuto. d.getSeconds() extrae el segundo. */ //Establecemos la fecha inicio con los parametros anteriores var fechaInicio = new Date(d.getFullYear() + "/" + (d.getMonth() + 1) + "/" + d.getDate() + " " + d.getHours() + ":" + d.getMinutes() + ":" + d.getSeconds()); //Establecemos la fecha final var fechaFinal = new Date("2015/12/31 23:59:59"); //Restamos la fechaFinal menos fechaInicio, //esto establece la diferencia entre las fechas var fechaResta = fechaFinal - fechaInicio; //imprimir document.write("Faltan: " + ((((fechaResta / 1000) / 60) / 60) / 24)/365 + " años. ó<br/>"); document.write("Faltan: " + (((fechaResta / 1000) / 60) / 60) / 24 + " días. ó<br/>"); document.write("Faltan: " + (((fechaResta / 1000) / 60) / 60) + " Horas. ó<br/>"); document.write("Faltan: " + ((fechaResta / 1000) / 60) + " Minutos. ó<br/>"); document.write("Faltan: " + (fechaResta / 1000) + " Segundos."); </script> </head> <body> </body> </html> |
Algo que han de notas es que he sumado 1 al parámetro del mes, esto es porque Javascript comienza la cuenta de mes desde cero.
El resultado de la resta de fechas se da en milisegundos por lo que debemos transformar esa cantidad hasta el formato que deseemos tener como años o días.
Al siguiente demo le he quitado la impresión de document.write porque no es permitida en JSFiddle, pero es lo de menos.
DEMO
2 comentarios
gracias, usado
Good job! thanks