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

406
Views
JS: verifique si el tiempo no excede el máximo permitido de una serie de intervalos

El objetivo es comprobar si la fecha seleccionada no supera el tiempo máximo.

Tengo una serie de intervalos de tiempo. El tiempo máximo es toMinutes - 20 minutes .

A continuación puede encontrar mi solución, que siempre devuelve false .

¿Cómo se puede editar para que coincida con el resultado esperado, que también se especifica a continuación?

 const dateRanges = [{fromMinutes: 360, toMinutes: 600}, {fromMinutes: 700, toMinutes: 900}]; // "06:00 - 10:00", "11:40" - "15:00" const minutesToHourFormat = (minutes) => { return new Date(minutes * 1000).toISOString().slice(14, 19); }; const isWithinMinDate = () => { const selectedDate = "14:30"; return dateRanges.every(({ toMinutes }) => { const minTime = minutesToHourFormat(toMinutes - 20); return selectedDate <= minTime; }) } // Expected Result // 14:30 -> true // 14:40 -> false // 14:10 -> true // 9:50 -> false // 9:30 -> true console.log(isWithinMinDate(), 'res')

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

every sus llamadas deben verificarse con ambos límites, porque el tiempo dado podría estar fuera de cualquier intervalo, o cuando está dentro de los 20 minutos para un intervalo final, ¡aún se consideraría al verificar un intervalo posterior!

Y preferiría convertir la cadena de tiempo seleccionada a minutos, en lugar de hacer lo contrario:

 const hourFormatToMinutes = (fmt) => fmt.split(":").reduce((h, m) => h * 60 + +m); const minutesToHourFormat = (minutes) => new Date(minutes * 1000).toISOString().slice(14, 19); const dateRanges = [ { fromMinutes: hourFormatToMinutes("6:00"), toMinutes: hourFormatToMinutes("10:00") }, { fromMinutes: hourFormatToMinutes("11:40"), toMinutes: hourFormatToMinutes("15:00") } ]; const isWithinMinDate = (hourFmt) => { const minutes = hourFormatToMinutes(hourFmt); return dateRanges.some(({ fromMinutes, toMinutes }) => minutes >= fromMinutes && minutes < toMinutes - 20 ); } for (const test of ["14:30", "14:40", "14:10", "9:50", "9:30"]) { console.log(test, isWithinMinDate(test)); }

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!