Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

118
Vistas
JavaScript: ¿hay alguna manera de detectar que una fecha dada en dicho formato está dentro de los últimos X días?

Tengo un montón de marcas de tiempo formateadas como esta

 const dates = ['2021.6.01', '2021.6.11', '2021.9.02']

Quería escribir una utilidad que me dijera si una fecha con ese formato está dentro de los últimos X días de otra fecha.

Por ejemplo, 2021.6.10 está dentro de los últimos 7 días de 2021.6.12 mientras que 2021.6.01 no está dentro de los últimos 7 días de 2021.6.12 .

Pensé que la interfaz API sería, pero no dude en sugerir una mejor denominación

 function isWithinTheLastDays(originalDate, date, days)

Me resultó muy complicado implementarlo a mano y hay muchos casos extremos.

about 4 years ago · Juan Pablo Isaza
3 Respuestas
Responde la pregunta

0

Analice las fechas con el constructor Date , reste las dos fechas y convierta la diferencia de milisegundos en días (dividiendo entre 86400000), luego verifique si es menor o igual a days :

 function isWithinTheLastDays(originalDate, date, days){ return (new Date(date) - new Date(originalDate)) / 86400000 <= days; } console.log(isWithinTheLastDays('2021.6.10', '2021.6.12', 7)) //2 day diff console.log(isWithinTheLastDays('2021.6.10', '2021.6.17', 7)) //7 day diff console.log(isWithinTheLastDays('2021.6.10', '2021.6.18', 7)) //8 day diff

about 4 years ago · Juan Pablo Isaza Denunciar

0

Puedes probar esto:

Nota: esto devolverá verdadero si las fechas son X días posteriores y anteriores a la fecha que configuró

 const dates = ['2021.08.26', '2021.6.11', '2021.9.02'] function isWithinDays({ originalDate, date, range }) { return parseInt(((new Date(date) - new Date(originalDate)) / (1000 * 60 * 60 * 24)), 10) <= range && parseInt(((new Date(date) - new Date(originalDate)) / (1000 * 60 * 60 * 24)), 10) >= 0 ? true : false } for (var i = 0; i < dates.length; i++) { console.log(isWithinDays({ originalDate: dates[i], date: new Date('2021-08-27'), range: 10 })) }

about 4 years ago · Juan Pablo Isaza Denunciar

0

convertirlo a la marca de tiempo de Unix y restarlo

 function isWithinTheLastDays(originalDate, date, days){ if(Math.abs( new Date(date).getTime()/1000 - new Date(originalDate).getTime()/1000 )/60/60/24 >= days){ return true; }else{ return false; }; }
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda