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

214
Views
Función para encontrar si la fecha está dentro del período repentinamente roto. ¿Alguien capaz de explicar por qué?

Así que codifiqué esta función para probar si la fecha de hoy cae dentro de un rango o período determinado en función de mis dos conjuntos de días de inicio y finalización. Luego agrega el año y las pruebas. Si no puede encontrar un período, devuelve "NIR" o "Fuera del rango", de lo contrario, devuelve una cadena con el período y el año, que utilizo más adelante en mi programa para varias otras funciones.

Esta función funcionó espléndidamente y luego, al azar, comienza a devolver nada más que NIR. Intenté iniciar sesión entre cada paso e incluso puedo hacer que funcione si configuro d = Date.parse ("21 de octubre de 2021") en lugar de Date.now() funciona bien. Estoy tan confundido en cuanto a cuál es la diferencia.

 function findPeriod(offset = 0) { const s = ["Aug 29", "Sept 12", "Sept 26", "Oct 10", "Oct 24", "Nov 7", "Nov 21", "Dec 5", "Dec 19", "Jan 2", "Jan 16", "Jan 30", "Feb 13", "Feb 27", "Mar 13", "Mar 27", "Apr 10", "Apr 24", "May 8", "May 22", "Jun 5", "Jun 19", "Jul 3", "Jul 17", "Jul 31", "Aug 14", "Aug 28", "Sept 11", "Sept 25"]; // Start of periods const e = ["Sept 11", "Sept 25", "Oct 9", "Oct 23", "Nov 6", "Nov 20", "Dec 4", "Dec 18", "Jan 1", "Jan 15", "Jan 29", "Feb 12", "Feb 26", "Mar 12", "Mar 26", "Apr 9", "Apr 23", "May 7", "May 21", "Jun 4", "Jun 18", "Jul 2", "Jul 16", "Jul 30", "Aug 13", "Aug 27", "Sept 10", "Sept 24", "Oct 8"]; // End of periods const y = '2021'; const p = ["Period 19", "Period 20", "Period 21", "Period 22", "Period 23", "Period 24", "Period 25", "Period 26", "Period 27", "Period 1"]; // Corresponding period const d = Date.now(); let found = " "; try { for (let i = 0; i < p.length; i++) { if (d >= Date.parse(s[i] + ', ' + y) && d <= Date.parse(e[i] + ', ' + y)) { found = p[i + offset] + " " + s[i + offset] + " to " + e[i + offset] + `, ${y}`; break; } else { found = "NIR"; } } return found; } catch (err) { console.log(err); } } console.log(findPeriod());

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

0

Date.now() te da una fecha con horas, minutos y segundos. Es por eso que hoy (9 de octubre + tiempo) es mayor que el final del período que definiste.

Rápido y sucio. Obtenga la fecha sin hora convirtiéndola primero en una cadena de fecha:

 const d = new Date(new Date().toDateString());

Actualizar Como mencionó RobG, puede eliminar el tiempo de esta manera:

 const d = new Date(); d.setHours(0,0,0,0); 

 function findPeriod(offset = 0) { const s = ["Aug 29", "Sept 12", "Sept 26", "Oct 10", "Oct 24", "Nov 7", "Nov 21", "Dec 5", "Dec 19", "Jan 2", "Jan 16", "Jan 30", "Feb 13", "Feb 27", "Mar 13", "Mar 27", "Apr 10", "Apr 24", "May 8", "May 22", "Jun 5", "Jun 19", "Jul 3", "Jul 17", "Jul 31", "Aug 14", "Aug 28", "Sept 11", "Sept 25" ]; // Start of periods const e = ["Sept 11","Sept 25", "Oct 9", "Oct 23", "Nov 6", "Nov 20", "Dec 4", "Dec 18", "Jan 1", "Jan 15", "Jan 29", "Feb 12", "Feb 26", "Mar 12", "Mar 26", "Apr 9", "Apr 23", "May 7", "May 21", "Jun 4", "Jun 18", "Jul 2", "Jul 16", "Jul 30", "Aug 13", "Aug 27", "Sept 10", "Sept 24", "Oct 8"]; // End of periods const y = '2021'; const p = ["Period 19", "Period 20", "Period 21", "Period 22", "Period 23", "Period 24", "Period 25", "Period 26", "Period 27", "Period 1"]; // Corresponding period const d = new Date(new Date().toDateString()); let found = " "; try { for (let i = 0; i < p.length; i++) { if (d >= Date.parse(s[i]+', '+ y) && d <= Date.parse(e[i]+', '+ y)) { found = p[i+offset]+" "+s[i+offset]+" to "+e[i+offset]+`, ${y}`; break; } else { found = "NIR"; } } return found; } catch (err) { console.log(err); } } console.log(findPeriod());

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!