|
| Descripción del ejemplo JavaScript
El Script comienza con la función Tiempo() que es llamada desde el evento FechaHoy = new Date();: devuelve la fecha actual del sistema en formato 24 horas. Los datos que podemos recoger de este valor son: el año, mes, el día, día de la semana, hora, minuto, segundo, zona horaria. Al estar la hora en formato 24 horas la función devolverá, por ejemplo para las 5 de la tarde, las 17 horas. FechaFin = new Date(FechaHoy.getFullYear(),11,31,23,59,59); Esta función devolverá la fecha: año-corriente Diciembre 31 23:59:59 . Con esta fecha calcularemos el tiempo faltante para que termine el año. Podemos ver como se utilizó la función FechaHoy.getFullYear() para permitir actualizar el año automáticamente. MSxDia = 24*60*60*1000;: El valor guardado en esta variable son la cantidad de milisegundos que tiene un día (86400000 milisegundos). Lo usaremos para calcular los días faltantes. anyoact = FechaHoy.getFullYear();: Guardamos el año actual correspondiente a la fecha del sistema. anyoprox = FechaHoy.getFullYear()+1;: Guardamos el año actual y le sumamos uno por lo que nos quedará el año próximo. Hora = 24 - FechaHoy.getHours();: Esto nos permite calcular la hora faltante para que termine el día. La función devuelve la hora de sistema, es decir, las horas que han pasado en el día actual y le restamos 24 para saber cuantas horas faltan para terminar el día. Minutos = 60 - FechaHoy.getMinutes();: Devuelve los minutos pasados en la hora actual y le resta 60 para calcular los minutos que faltan para el cambio de hora. Segundos = 60 - FechaHoy.getSeconds();: Devuelve los segundos pasados en el minuto actual y le resta 60 para calcular los segundos que faltan para el cambio de minuto. DiasPasan = new Date(FechaHoy.getFullYear()-1,11,31,23,59,59);: El valor que guardamos en esta variable lo utilizaremos para calcular los días que pasaron del año corriente. DiasPasan = DiasPasan.getTime();: Volvemos a definir el valor de la variable mediante esta función. El valor devuelto serán los milisegundos transcurridos desde la fecha 1/1/1970 hasta la fecha almacenada en DiasPasan. Una vez definidas todas las variables pasaremos a calcular los días faltantes para que se complete el año corriente o dicho de otra forma los días que faltan para el siguiente año. Esto lo hacemos con la función getTime() sobre la fecha fin que definimos anteriormente y la fecha actual del sistema. Esta función devuelve el tiempo en milisegundos que pasaron desde la fecha Enero 1 de 1970, por lo que el valor devuelto para FechaFin.getTime() será de 1199156399000 milisegundos y para FechaHoy.getTime() será de la cantidad de milisegundos pasados desde la fecha 1/1/1970 a la fecha actual del sistema. Para explicar mejor el ejemplo vamos a suponer que la fecha actual del sistema es 22/4/2007. Entonces el valor que devuelve esta segunda función es de 1177254079288 milisegundos que obviamente van cambiando a medida que corren los segundos en la computadora que ejecuta el JavaScript. Si restamos estos dos valores tenemos el tiempo en milisegundos que falta para completar el año. La resta de estos dos valores sería 21902319712 milisegundos. Si a este valor lo dividimos por la cantidad de milisegundos que tiene un día obtendremos 253,49907074074074074074074074074 días. Como podemos ver el número proviene de un división que arroja un resto que corresponden a las horas, minutos y segundos que no llegan a completar un día. Este resto no nos interesa así que debemos eliminarlo mediante Math.floor(). El método floor() del objeto Math redondea el número a su valor inferior. Para nuestro ejemplo el valor devuelto sería 253 días. Este valor lo guardamos en la variable DiasFaltan. Para calcular los días pasados hacemos exactamente lo mismo pero utilizando los valores que guardamos en la variable DiasPasan. Primero restamos el valor de FechaHoy.getTime() que es el mismo que utilizamos anteriormente por el valor de DiasPasan que almacenamos en la variable anterior y lo dividimos por los milisegundos que tiene un día completo. Estos nos da la cantidad de días exactos que transcurrieron desde el comienzo del año corriente hasta la fecha actual. Nuevamente volvemos a utilizar el método floor() para redondear el valor. Lo que resta es armar el texto con los valores finales de las dos variables DiasFaltan y DiasPasan y complementamos colocando las horas, minutos y segundos faltantes y pasados para cada uno de los cálculos. Los valores finales los colocamos en un elemento de formulario tipo text al cual le asignamos algunas propiedades como el ancho, alineación, acceso de solo lectura y color de fondo. Para que el Script funcione como si fuera un reloj en tiempo real utilizamos la función setTimeout() que llama a la ejecución de la función Tiempo() cada 1000 milisegundos (1 segundo). |
|
Información relativa al Script |
Ejemplo JavaScript para calcular los días que pasaron desde que empezó el año y los días que faltan para que termine el mismo. Código fuente del script: |
|
![]() Agradecemos todos los comentarios. Gracias por ayudarnos a mejorar el sitio. Importante: Los comentarios están para ampliar el artículo propuesto en esta página, proponer o responder alguna consulta de otro visitante. En ningún caso nos hacemos responsables del contenido publicado en los comentarios. En el caso que formules una pregunta y ésta no sea respondida, puedes solicitarnos ayuda desde el formulario de ayuda aunque no te aseguramos una respuesta inmediata. | ||
| Código JavaScript Todos los derechos reservados | |||