Estoy usando date-fns . Necesito crear una cuenta regresiva para el próximo día 10 del mes.
Por ejemplo, si hoy es 5 de febrero, entonces la cuenta regresiva debería ser hasta el 10 de febrero. Si hoy es, digamos, 15 de febrero, entonces debería contar hasta el 10 de marzo, y así sucesivamente.
¿Cómo puedo hacer esto con date-fns o incluso con javascript simple?
Primero debe encontrar la fecha objetivo, como esta:
const today = startOfToday(); let target = setDate(today, 10); if (isBefore(target, today)) { target = addMonths(target, 1); }Luego calcule el tiempo restante hasta el objetivo:
const diff = differenceInSeconds(target, new Date()); const days = Math.floor(diff / 86400); const hours = Math.floor((diff - days * 86400) / 3600); const minutes = Math.floor((diff - days * 86400 - hours * 3600) / 60); const seconds = diff - days * 86400 - hours * 3600 - minutes * 60; Use días , horas , minutos , segundos para crear una cuenta regresiva. No olvide importar las funciones requeridas desde date-fns .