• inicio
  • tutoriales flash
  • trucos flash
  • faq's flash
  • enlaces flash
  • suscribirse al feed RSS

tutoriales ( todos | principiante | medio | avanzado | AS 1.0 | AS 2.0 | AS 3.0 | top )

Tutorial FLASH - Tutorial para comparar fechas en Flash.

| | Más
Versión Flash: 5 y superiores   |   Compatible con ActionScript 1.0 y 2.0   |   Nivel: Medio   |   Hits: 49965

En este tutorial vamos a aprender a comparar dos fechas y a calcular la diferencia en días entre ellas.
Para ello emplearemos, evidentemente, la clase Date y además, su método getTime(). Este método nos devuelve la diferencia horaria en milisegundos entre una fecha determinada y la media noche del 1 de enero de 1970.

COMO HACERLO.
Primero creamos seis cajas de texto del tipo "introducción de texto" donde se van a insertar día, mes y año para las dos fechas a comparar. Después, definimos la función compararFechas que es la que va a realizar los cálculos requeridos. Su código es:

function compararFechas(fecha1:Date, fecha2:Date):Void {
// utilizamos la constante para dividir los milisegundos
// y convertirlos en días 1000*60*60*24=86400000

var constante:Number = 86400000;
var diferenciaDias:Number = Math.abs((fecha2.getTime()-fecha1.getTime())/constante);
//vemos cual es la más reciente
if (fecha1<fecha2) {
mensaje = "fecha2 mayor que fecha1, diferencia = "+diferenciaDias+" días";
} else if (fecha1>fecha2) {
mensaje = "fecha1 mayor que fecha2, diferencia = "+diferenciaDias+" días";
} else {
mensaje = "fecha1 igual que fecha2, diferencia = "+diferenciaDias+" días";
}
}

Como vemos es una función que recibe como parámetros dos objetos del tipo Date, que son las fechas a comparar. Calculamos la diferencia en milisegundos entre las dos fechas con (fecha2.getTime()-fecha1.getTime()). Esta diferencia la dividimos por la constante para pasar de milisegundos a días y.....¡¡¡YA ESTÁ!!!

El resto del código de la función es para mostrar el mensaje en la parte inferior de la película.
Por último, en el botón ponemos:

on (release) {
// creo los dos objetos Date con los datos introducidos
var fecha1:Date = new Date(anio1, mes1-1, dia1);
var fecha2:Date = new Date(anio2, mes2-1, dia2);
// llamo a la función que compara nuestras fechas
compararFechas(fecha1, fecha2);
}

¿fácil? ¿verdad? ya os lo decíamos. Lo bueno es que al hacer el calculo basándose en la hora universal, la media noche del 1 de enero de 1970, no tenemos que preocuparnos de los años bisiestos, siempre hace bien las cuentas.

Podéis descargaros este mismo ejemplo y ver cómo funciona: compararFechas.fla

Tutoriales Flash relacionados
| | Más
flash 1flash 1flash 1flash 2flash 1flash 3flash 1flash 4