Esta es una pequeña clase que hice para manejar las fechas, saber la diferencia, cual es mayor y viceversa.
Código :
package { public class dateUtils { static public const SENCONDS:uint = 2; static public const MINUTES:uint = 3; static public const HOURS:uint = 4; /** * * @param date1 fecha a comparar * @param date2 fecha a comparar * @param unit Unidad en que se quiere devolver la diferencia. * @return Number Con la diferencia en la unidad pedida */ static public function dateDiff( date1:Date, date2:Date, unit:uint):Number { var _divisor : Number = 1000*(unit==dateUtils.SENCONDS?1:(unit==dateUtils.MINUTES?60:(unit==dateUtils.HOURS?(60*60):(60*60*60)))); var _dif:Number = (date1.getTime()-date2.getTime()) / ( _divisor ); return Math.abs(_dif); } /** * Devuelve la menor de las fechas pasadas por parametro. * @param ...args Arreglo que contiene todas las fechas pasadas por parametro * @return Fecha menor. */ static public function minorDate( ...args ):Date { args.sort( _orderDatesFunction ); return args[0]; } /** * Devuelve la mayor de las fechas pasadas por parametro. * @param ...args Arreglo que contiene todas las fechas pasadas por parametro * @return Fecha mayor. */ static public function mayorDate( ...args:Array ):Date { args.sort( _orderDatesFunction ); return args[ args.length-1 ]; } /** * Funcion para comparar 2 fechas. 'Usado en funcion sort del array' * @param date1 * @param date2 * @return */ static private function _orderDatesFunction( date1:Date, date2:Date ):Number { if( date1 > date2 ) return 1; else if( date1 < date2 ) return 0; else return -1; } } }
y para utilizarla es igual de simple.
Código :
/** Hallando la diferencia entre 2 fechas **/ var fecha1:Date = new Date("2009/2/2 2:01 PM"); var fecha2:Date = new Date("2009/2/2 3:31 PM"); // Diferencia en minutos trace( dateUtils.dateDiff( fecha1, fecha2, dateUtils.MINUTES ); // Diferencia en horas trace( dateUtils.dateDiff( fecha1, fecha2, dateUtils.HOURS ); /** Hallando la menor y la mayor de todas las fechas **/ var fecha3:Date = new Date("1982/9/9 2:00 AM"); var fecha3:Date = new Date("1972/9/9 4:00 PM"); var arreglo_de_fechas:Array = new Array( fecha1, fecha2, fecha3, fecha4 ); // La menor trace( dateUtils.minorDate( arreglo_de_fechas ).toString() ); // La mayor trace( dateUtils.mayorDate( arreglo_de_fechas ).toString() );
Espero le sirva de utilidad a mas de uno por ahí.