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

134
Views
Validar rango de tiempo de cadena

Necesito crear una función para validar la siguiente situación:

  1. Intervalo monitoreado dentro del horario de apertura: Válido

  2. Intervalo supervisado fuera del horario de apertura: Inválido

Existe otra posibilidad de que el rango de inicio permitido sea de 23:00 a 04:00. En este caso no se admitirán franjas de 5:00 a 6:00 y de 21:00 a 22:00 horas.

Actualmente mi código valida el día normalmente, pero el día cruzado no.

 export default function isOutRangeStringTime({ initialTime, finalTime, allowedInitialTime, allowedFinalTime, }) { if (allowedInitialTime === allowedFinalTime || allowedInitialTime >= allowedFinalTime || initialTime >= finalTime) { return false; } return initialTime < allowedInitialTime || finalTime > allowedFinalTime; }

Aquí hay una imagen de la situación en la que mi código no funciona.

  1. día cruzado Válido: Crossday Válido

  2. día cruzado inválido: ingrese la descripción de la imagen aquí

También necesito validación para trabajar en días cruzados.

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

0

Puede considerar agregar 24 h a allowFinalTime cuando allowFinalTime < allowInitialTime

Considere el uso de objetos de fecha. En aras de la simplicidad, este ejemplo funciona con números:

 function isOutRangeStringTime( initialTime, finalTime, allowedInitialTime, allowedFinalTime, ) { if (allowedInitialTime === allowedFinalTime || initialTime === finalTime) { return false; } if( allowedInitialTime > allowedFinalTime ) { allowedFinalTime += 24 initialTime = (initialTime < allowedInitialTime) ? initialTime + 24 : initialTime; finalTime = (finalTime < allowedInitialTime) ? finalTime + 24 : finalTime; } return initialTime > allowedInitialTime && finalTime < allowedFinalTime; }
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!