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

174
Views
Compara dos rangos de tiempo JavaScript

Quiero comparar dos veces y mostrar el resultado como un valor booleano. Creé una función para eso. Está funcionando. Pero cuando se compara, la salida "AM" y "PM" es incorrecta.

 let Time = "11:25 PM"; let currentTime = "10:00 AM"; console.log(isFutureTime(currentTime, Time)); //Output should be true or false function isFutureTime(currentTime, checkTime) { if (checkTime.split(" ")[1] == currentTime.split(" ")[1]) { if (parseInt(currentTime.split(":")[0]) < parseInt(checkTime.split(":")[0])) { return true; } else if (parseInt(currentTime.split(":")[0]) == parseInt(checkTime.split(":")[0])) { if (parseInt(currentTime.split(":")[1].substring(0, 2)) <= parseInt(checkTime.split(":")[1])) { return true; } else { return false; } } else { return false; } } else { return false; } }
about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

Debe verificar si currentTime es AM o PM, y devolver true si es PM.

 ... return currentTime.split(" ")[1] === 'PM'; ...

Como ya comprobó que ambos tiempos son iguales, no necesita verificar checkTime .

Usted declara una variable para currentTime.split(" ")[1] por eficiencia.

 let Time = "11:25 PM"; let currentTime = "10:00 AM"; console.log(isFutureTime(currentTime, Time)); //Output should be true or false function isFutureTime(currentTime, checkTime) { if (checkTime.split(" ")[1] == currentTime.split(" ")[1]) { if (parseInt(currentTime.split(":")[0]) < parseInt(checkTime.split(":")[0])) { return true; } else if (parseInt(currentTime.split(":")[0]) == parseInt(checkTime.split(":")[0])) { if (parseInt(currentTime.split(":")[1].substring(0, 2)) <= parseInt(checkTime.split(":")[1])) { return true; } else { return false; } } else { return false; } } else { return currentTime.split(" ")[1] === 'PM'; } }

about 4 years ago · Juan Pablo Isaza Report

0

Alternativamente, Javascript Date puede analizar de forma nativa el formato de hora que está utilizando. Entonces, solo necesito concatenar una cadena de fecha y construir una instancia de Date para ambos valores. Luego compáralos.

 function isFutureTime(currentTime, checkTime) { let date = new Date() date = `${date.getFullYear()}-${date.getMonth() + 1}-${date.getDate()}` return new Date(`${date} ${currentTime}`) > new Date(`${date} ${checkTime}`) } const currentTime = '10:00 AM'; const futureTime = '11:25 PM'; const pastTime = '03:15 AM'; console.log(futureTime, '=', isFutureTime(currentTime, futureTime)) console.log(pastTime, '=', isFutureTime(currentTime, pastTime))

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!