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

231
Views
Cuando sabes qué semana es, cómo averiguar la fecha de inicio de la semana

A través del módulo 'date-fns', recibo números de cuántas semanas es la fecha de este año.

 const current = '2022-03-10' const weekNumber = getWeek(current, 1) // 11

Por el contrario, si solo conoces los números, querrás saber cómo hacer el número de la primera fecha de la semana.

La forma en que quiero saber.

 const weekNumber = 11; const weekOfstartDate = anyFunc(weekNumber) // '2022-03-07'

¿Sabes la respuesta a esta solución?

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

0

Puedes usar el token I:

 var dateFns = require("date-fns"); console.log(dateFns.parse('10','I', new Date()));

En npm.runkit.com que devuelve una fecha para el lunes 7 de marzo de 2022. Parece que date-fns asume el año de la semana actual. No tengo idea de cómo especificar el año, intentando:

 console.log(dateFns.parse('2022-10','YYYY-II', new Date(),{ useAdditionalWeekYearTokens: true }));

Lanza un error de rango: la cadena de formato no debe contener YYYY y II al mismo tiempo. De manera similar, para "2022W10" y tokens "YYYY'W'II", dice que los tokens Y e I no pueden estar en la misma cadena de formato.

Una función para hacer lo mismo es:

 // Returns the first day (Monday) of the specified week // Year defaults to the current local calendar year function getISOWeek(w, y = new Date().getFullYear()) { let d = new Date(y, 0, 4); d.setDate(d.getDate() - (d.getDay() || 7) + 1 + 7*(w - 1)); return d; } // Mon Mar 14 2022 console.log(getISOWeek(11).toString()); // Mon Jan 02 2023 console.log(getISOWeek(1,2023).toString()); // Mon Dec 28 2026 console.log(getISOWeek(53,2026).toString());

Una función robusta debería validar la entrada de modo que el número de semana sea del 1 al 53 y que 53 solo se permita para años que tengan 53 semanas.

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!