Estoy haciendo una cuenta regresiva pero ahora mismo solo da respuesta si la fecha aún no ha pasado. Pero quiero que si ya se pasa la fecha que pase al próximo año. ¿Cómo podría hacer eso? Supongo que necesito usar un "si" en mi constancia con la fecha, pero no tengo idea de cómo hacerlo.
const difference = +new Date(`01/01/${year}`) - +new Date();Hola Simon , antes que nada, quiero decirte (como consejo) que no necesitas convertir fechas para calcular la diferencia entre ellas. Dicho esto, le recomiendo que use date-fns para los cálculos de fecha, con esta biblioteca podrá usar métodos como endOfDay(date) . Si aún no desea utilizar ninguna biblioteca externa, puede utilizar el método setHours :
const now = new Date() const endOfDay = new Date(new Date(now.toString()).setHours(23, 59, 59, 999)) const isBeforeEndOfDay = now <= endOfDay console.log(isBeforeEndOfDay)Y para obtener la diferencia entre las dos fechas, no necesita calcular si es el final del día:
// To set two dates to two variables const date1 = new Date("06/30/2019"); const date2 = new Date("07/30/2019"); // To calculate the time difference of two dates const Difference_In_Time = date2.getTime() - date1.getTime(); // To calculate the no. of minutes between two dates const Difference_In_Days = Difference_In_Time / (1000 * 3600 * 24); const Difference_In_Hours = Difference_In_Days * 24 console.log(Difference_In_Days, Difference_In_Hours) // [...]