Contador de dias

Se trata de un script para una página en la que aparezca el mensaje con el número de días que quedan para Navidad

Solución

//final: array {dia, mes,año}

function diasHasta(final){

var Hoy=new Date()

var fin = new Date(final.año, final.mes, final.dia)

var mseg_dia=1000*60*60*24

var dias

if (Hoy.getMonth()==final.mes && Hoy.getDate()>final.dia)

    fin.setFullYear(fin.getFullYear()+1)

dias = Math.ceil((fin.getTime()-Hoy.getTime())/(mseg_dia))

document.write("Faltan "+dias+" dias hasta "+fin.toLocaleDateString())

}

<script>

diasHasta({año:2021, mes:11, dia:25} )

</script>

Explicación

Un perfecto ejemplo de uso de las funciones de fecha proporcionadas por Javascript. Primero declaramos las variables a usar en el script: Hoy para la fecha actual y Nav para la fecha final, en este caso 25 de Dic. Recordemos que para Javascript el mes 0 es Enero y el 11 es Diciembre.

Si estamos despues del 25 de Diciembre, cambiamos Nav a la navidad del año siguiente.

La variable mseg_dia es el número de milisegundos que tiene un día. Al restar las fechas el resultado sale en milisegundos, para pasarlos a dias hay que dividir por mseg_dia.
Y ya solo queda escribir la frase del contador, por ejemplo que Quedan xx días hasta Navidad.

Como lo uso

El script se puede colocar en cualquier parte entre <body> y </body>, en el lugar donde queramos que aparezca la frase elegida pra el contador. Por cierto por si no lo sabías: