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

162
Views
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 answers
Answer question

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