viernes, 7 de septiembre de 2007

Reloj y Fecha en Flash

Tutorial en el cual se explica cómo obtener la fecha y hora del sistema e incluírla en un archivo swf. Los datos que obtendremos son el dia de la semana, el día del mes, el mes, año, hora, minuto y segundo.



COMO HACERLO.

Se utilizara la clase Date de Actionscript.

Tenemos que crear un objeto Date y a continuación extraer los datos que queremos mediante los siguientes métodos:

Date.getDay() : Devuelve el día de la semana, expresado en un número del 0 al 6 (donde el 0 es domingo, 1 es lunes, etc.)
Date.getDate() : Devuelve el día del mes (un número entero del 1 al 31)
Date.getMonth() : Devuelve el mes (un número del 0 al 11, donde el 0 es enero, 1 es febrero, etc.) Date.getFullYear() : Devuelve el año completo
Date.getHours() : Devuelve la hora actual
Date.getMinutes() : Devuelve los minutos
Date.getSeconds() : Devuelve los segundos


1. Definimos un array con los días de la semana de forma que coincidan con la forma de devolverlos de Date.getDay (0-domingo, 1-lunes, ..., 6-sábado)

2. hacemos lo mismo para Date.getMonth (0-enero, 1-febrero, ..., 11-diciembre)

var dias = new Array("Domingo", "Lunes", "Martes", "Miércoles", "Jueves", "Viernes", "Sábado");
var meses = new Array("enero", "febrero", "marzo", "abril", "mayo", "junio", "julio", "agosto", "septiembre", "octubre", "noviembre", "diciembre");

3. creamos un objeto Date con la fecha y hora actuales

var fecha = new Date();

4. en el campo "fecha" vamos encadenando los resultados, para el día de la semana y el mes, recurrimos a los arrays definidos anteriormente

this.fecha = dias[fecha.getDay()]+", "+fecha.getDate()+" de "+meses[fecha.getMonth()]+" de "+fecha.getFullYear();
// asignamos su valor a los campos "hora", "minuto" y "segundo".
this.hora = fecha.getHours();
this.minuto = fecha.getMinutes();
this.segundo = fecha.getSeconds();

5. Por último, como queremos que cada campo siempre tenga dos cifras, tenemos que añadir un 0 delante siempre que el valor sea menor de 10 (09 en lugar de 9)

if (this.segundo<10)
{
this.segundo = "0"+this.segundo;
}
if (this.minuto<10)
{
this.minuto = "0"+this.minuto;
}
if (this.hora<10)
{
this.hora = "0"+this.hora;
}

descarga de archivo .fla

No hay comentarios: