¿Cómo calcular los días que quedan hasta la próxima Navidad usando JavaScript?

En este artículo, aprenderemos cómo calcular la cantidad de días que quedan hasta la próxima Navidad usando JavaScript. La Navidad marca el nacimiento de Cristo, celebrada principalmente por millones de personas en todo el mundo el 25 de diciembre de cada año como una fiesta religiosa y cultural.

Enfoque: para calcular la cantidad de días entre dos fechas en JavaScript, se debe usar el objeto Fecha. Averiguamos el valor anual del día de Navidad de este año usando el método getFullYear() . Luego verificamos si la fecha actual ya ha pasado el día de Navidad al verificar si el mes es diciembre y el día es posterior al 25. El método getMonth() se usa para obtener el mes y el método getDate() se usa para obtener el valor de fecha de la hora dada.

Si se cumple esta condición, añadimos un año más al año de Navidad que encontramos antes, adelantando así el día de Navidad para el año siguiente. Luego creamos el valor de fecha final del próximo día de Navidad.

Podemos usar la función getTime() para obtener ambos valores de fecha en milisegundos. Después de la conversión, restamos el último del anterior para obtener la diferencia en milisegundos. El número final de días se obtiene dividiendo la diferencia (en milisegundos) entre las dos fechas por el número de milisegundos de un día.

Sintaxis:

let today = new Date();
let christmasYear = today.getFullYear();

if (today.getMonth() == 11 && today.getDate() > 25) {
  christmasYear = christmasYear + 1;
}

let christmasDate = new Date(christmasYear, 11, 25);
let dayMilliseconds = 1000 * 60 * 60 * 24;

let remainingDays = Math.ceil(
  (christmasDate.getTime() - today.getTime()) /
   (dayMilliseconds)
);

Ejemplo:

HTML

<html>
<body>
  <h1 style="color: green;">
    GeeksforGeeks
  </h1>
  <h3>
    Program to calculate days left until
    next Christmas using JavaScript?
  </h3>
  <script>
    // Get the current date
    let today = new Date();
  
    // Get the year of the current date
    let christmasYear = today.getFullYear();
  
    // Check if the current date is
    // already past by checking if the month
    // is December and the current day
    // is greater than 25
    if (today.getMonth() == 11 &&
        today.getDate() > 25) {
  
      // Add an year so that the next
      // Christmas date could be used
      christmasYear = christmasYear + 1;
    }
  
    // Get the date of the next Christmas
    let christmasDate = 
        new Date(christmasYear, 11, 25);
  
    // Get the number of milliseconds in 1 day
    let dayMilliseconds =
        1000 * 60 * 60 * 24;
  
    // Get the remaining amount of days
    let remainingDays = Math.ceil(
      (christmasDate.getTime() - today.getTime()) /
      (dayMilliseconds)
    );
  
    // Write it to the page
    document.write("There are " + remainingDays +
                   " days remaining until Christmas.");
  </script>
</body>
</html>

Producción:

Publicación traducida automáticamente

Artículo escrito por priyavermaa1198 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *