Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

163
Vistas
Cómo verificar la fecha dentro de dos fechas dadas y devolver verdadero o falso

Estoy tratando de verificar si la fecha dada está dentro de las dos fechas. Intenté según los recursos en línea que encontré usando los métodos a continuación, independientemente del código que probé y devolvió Falso, así que alguien podría decirme cómo podemos lograr esto. Gracias

 // *For example* - Datetocheck = today's date Startdate = '09/05/2022' Enddate ='31/05/2022' var TodayDate = new Date(); //var date = now.toLocaleDateString(); var dd = String(TodayDate.getDate()).padStart(2, '0'); var mm = String(TodayDate.getMonth() + 1).padStart(2, '0'); //January is 0! var yyyy = TodayDate.getFullYear(); TodayDate = dd + '/' + mm + '/' + yyyy; if(dateStart!=null&&dateStart!=undefined){ var year=dateStart.getFullYear(); var month=(dateStart.getMonth()+1); var day=dateStart.getDate(); var startdate = day + '/' + month + '/' + year; } if(dateEnd!=null&&dateEnd!=undefined){ var year1=dateEnd.getFullYear(); var month1=(dateEnd.getMonth()+1); var day1=dateEnd.getDate(); var enddate = day1 + '/' + month1 + '/' + year1; } if(TodayDate > startdate && TodayDate < enddate { return true; // alert("Within the range"); }else{ return false; // alert("Outside the range"); }
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Estás comparando cadenas. Si usó el orden AAAA-MM-DD, eso funcionaría, pero como está usando el orden DD/MM/AAAA, no funciona. Las cadenas se comparan "alfabéticamente" (incluidas las letras que no están ordenadas tal como están en el juego de caracteres), lo que significa que, por ejemplo, el día 20 de cualquier mes será "mayor que" el día 10 de cualquier mes, incluso si los dos meses están en el orden opuesto dentro del año y/o las fechas están separadas por años, solo porque 2 viene después de 1.

Simplemente usaría objetos Date directamente.

 const startDate = new Date(2022,4,9); // 0=January, so May=4 const endDate = new Date(2022,4,31); let todayDate = new Date(); if (startDate <= todayDate && todayDate <= endDate) { console.log("In range."); }

Además, arriba estoy haciendo una prueba y luego registrando un mensaje si la prueba es verdadera, pero si desea una función que solo devuelva verdadero o falso, no necesita una declaración if . Simplemente devuelva el valor de la expresión booleana en sí:

 return startDate <= todayDate && todayDate <= endDate;
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda