Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

261
Visualizações
¿Cómo puedo saber si una fecha ISO como "2021-12-12" ocurrió en los últimos 3 días?

Estoy creando un sitio que obtiene datos de una API de speedrun.com y coloca las ejecuciones más recientes en el sitio en orden de tiempo. Recientemente agregué una función que se ejecuta desde el mismo día en que se ve el sitio y tendrá un ícono especial que muestra que son "NUEVOS". Esta es mi solución actual (Javascript):

 runs[i].date = "2021-12-12"; // The API does not return hours if (new Date(new Date().getTime() - new Date().getTimezoneOffset() * 60000).toJSON().slice(0, 10) === runs[i].date) { alert("Today"); }

Si la fecha fuera el 12 de diciembre de 2021, esto alertaría a Today .

Esta solución tiene en cuenta las diferencias de zona horaria y funciona bien. Sin embargo, me gustaría que esto sea posible para las ejecuciones que ocurrieron en los últimos 3 días, por lo que incluso si runs[i].date = "2021-12-11" (10 de diciembre) o runs[i].date = "2021-12-11" (11 de diciembre), aún alertaría Today .

¿Cómo se haría esto?

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Dividirlo en funciones y componerlas:

 const DAY = 1000 * 60 * 60 * 24; function datesAreInRange (date1, date2, days) { const ms = days * DAY; const diff = Math.abs(date2.getTime() - date1.getTime()); return diff <= ms; } function getDateFromString (ymd) { const [y, m, d] = ymd.split('-').map(str => parseInt(str, 10)); return new Date(y, m - 1, d); } const today = '2021-12-16'; const otherDates = [ '2021-12-20', '2021-12-19', '2021-12-18', '2021-12-17', '2021-12-16', '2021-12-15', '2021-12-14', '2021-12-13', '2021-12-12', ]; for (const other of otherDates) { const inRange = datesAreInRange(...[today, other].map(getDateFromString), 3); console.log(`${other} is ${inRange ? '' : 'not '}in range.`) }

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda