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

139
Visualizações
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 Respostas
Responde à pergunta

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 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