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

334
Vistas
Date-fns: obtenga la cuenta regresiva para una hora UTC específica en un día o fecha específicos

Estoy usando la biblioteca date-fns . Y tengo un requisito específico.

Digamos que tengo un evento todos los sábados a las 7 am UTC.

  1. Si quedan 24 horas en el evento, quiero decir 'Próximamente'. Si quedan más de 24 horas, quiero mostrar los días calendario con el objetivo de las 7 a. m. UTC del próximo sábado.

  2. Tan pronto como pasen las 7 a. m. UTC del sábado, debería mostrar los días calendario que quedan hasta el próximo sábado a las 7 a. m. UTC.

No estoy seguro de cómo puedo lograr esto.

Si fuera para verificar el sábado independientemente de la hora, podría usar isSaturday() , pero ese no es el caso, necesito apuntar a la hora UTC específica el próximo sábado (7 a.m. UTC).

ACTUALIZACIÓN: El principal problema al que me enfrento es definir el objetivo como el próximo sábado a las 7 am UTC. Una vez que se define el objetivo, puedo usar differenceInCalendarDays() para obtener los días restantes.

¿Puedes ayudarme?

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Responder al "problema principal" es bastante simple sin usar date-fns ; puede ser más simple usar date-fns pero no sé date-fns , así que aquí está la solución de objeto de Date de javascript simple.

 function nextSaturday(d = new Date) { const next = new Date(d); next.setUTCDate(next.getUTCDate() + (7 - (next.getUTCDay() + 1)) % 7); next.setUTCHours(7, 0, 0, 0); if (next <= d) { // if it's currently saturday after 7AM UTC, add 7 days next.setUTCDate(next.getUTCDate() + 7); } return next; } console.log(nextSaturday(new Date).toUTCString()); // for future readers // Saturday March 5th 2022 is a Satruday // at 06:59:59.999 - next should be Sat, 05 Mar 2022 07:00:00 GMT console.log(nextSaturday(new Date('2022-03-05T06:59:59.999Z')).toUTCString()); // at 07:00:00 - next should be Sat, 05 Mar 2022 07:00:00 GMT console.log(nextSaturday(new Date('2022-03-05T07:00:00.000Z')).toUTCString()); console.log(nextSaturday(new Date('2022-05-15T07:00:00.000Z')).toUTCString());

Hizo la función para llamar nextSaturday sin un argumento usará la fecha actual, pero si pasa una fecha, usará eso, esto es solo para verificar que funciona

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