/** * ... * @author Default */ class CountDown { private var finalTime:Date; private var currentTime:Date; private var timeDiff:Number; public var handler:Function = null; public function CountDown(date:Date) { this.finalTime = date != null ? date : new Date(1900, 0, 0, 0, 0, 0); } private function init():Void { this.currentTime = new Date(); this.timeDiff = finalTime.getTime() - currentTime.getTime(); if (this.timeDiff < 0) this.timeDiff = 0; } public function run():Void { init(); var _day:Number = Math.floor(timeDiff/(1000*60*60*24)); var _hour:Number = Math.floor((timeDiff/(1000*60*60))%24); var _minute:Number = Math.floor((timeDiff/(1000*60))%60); var _second:Number = Math.floor((timeDiff/1000)%60); show(_day,_hour,_minute,_second); } private function show(day:Number, hour:Number, minute:Number, second:Number):Void { if(handler != null) handler(day,hour,minute,second); } }