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

255
Views
¿Cómo recupero el {día de la semana} más reciente con Moment js?

Necesito crear una función que produzca un rango de fechas basado en el día de la reunión de un usuario. Los usuarios se reúnen en días diferentes, en este ejemplo usaré "John" que se reúne con su grupo los miércoles. Las dos fechas que necesito son el miércoles más reciente y el próximo miércoles. Por ejemplo, si hoy es lunes 15 de noviembre, la función debería devolver 10/11/2021 y 17/11/2021

Mi código actual solo funciona el día de la reunión o después de que ya haya sucedido porque se extrae el miércoles de esta semana y el miércoles de la próxima semana...

 const DateRange = () => { switch (user.groups[0].meetingDay) { case "monday": return [1, 8]; case "tuesday": return [2, 9]; case "wednesday": return [3, 10]; case "thursday": return [4, 11]; case "friday": return [5, 12]; case "saturday": return [6, 13]; case "sunday": return [0, 7]; } }; const firstNumber = DateRange().push(0); const secondNumber = DateRange().pop(0); const goalsDateRangeStart = moment().day(firstNumber).format("l"); const goalsDateRangeEnd = moment().day(secondNumber).format("l");

Cuando el código anterior se use el 15 de noviembre, me dará 17/11/2021-24/11/2021

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

0

El momento ya no es compatible. Aquí hay una solución de API de fecha de JavaScript.

NOTA: los valores de día van desde 0 (domingo) - 6 (sábado)

La fecha de inicio se calcula mediante: valor de fecha (15) - (valor del día de hoy - (#días en una semana - el valor del parámetro del día)

15 - ( 1 + 7 - 3) = 10 - la fecha de inicio es el 10

La fecha de finalización es 7 días después:

10 + 7 = 17th - el día final es el 17

El código garantiza que se utilicen objetos de fecha separados para cada fecha.

Convoca la función con fecha de hoy con encuentros fijados para el miércoles (3). La función devuelve un objeto en la forma {start: Date, end: Date} :

 // Takes a Date object (default today) and int Day of the week (default Monday) function dateRange(date = new Date(), day = 0) { const start = new Date(date.setDate(date.getDate() - (date.getDay() + (7 - day)))); return { start: start, end: new Date(new Date(start).setDate(start.getDate() + 7)) }; } // Call function with today's date with meetings scheduled for Wednesdays const range = dateRange(new Date(), 3); console.log(range.start.toDateString(),'-', range.end.toDateString());

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!