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