Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

126
Views
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 answers
Answer question

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 Report

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!