?
- ?/**?
- ?
- ?*?时间计算?
- ?*?@param???
- ?*??????datepart????时间增加的形式?
- ?*?@param???
- ?*??????number??????时间增加的数量?
- ?*?@param???
- ?*??????date????????预增加的时间?
- ?*?@return??
- ?*??????_returnDate?增加后的时间?
- ?*/?
- private?function?dateAdd(datepart:String?=?"",?number:Number?=?0,?date:Date?=?null):Date??
- {?
- ????if?(date?==?null)??
- ????{?
- ????????date?=?new?Date();?
- ????}?
- ?????
- ????var?_returnDate:Date?=?new?Date(date.time);;?
- ????var?_type?=?datepart.toLowerCase();?
- ????switch?(_type)?
- ????{?
- ????????case?"fullyear":?
- ????????case?"month":?
- ????????case?"date":?
- ????????case?"hours":?
- ????????case?"minutes":?
- ????????case?"seconds":?
- ????????case?"milliseconds":?
- ????????????_returnDate[_type]?+=?number;?
- ????????????break;?
- ????????default:?
- ????????????break;?
- ????}?
- ????return?_returnDate;?
- }?
- ??
- /**?
- ?*?日期比较(按天比较)?
- ?*?
- ?*??@param?date1?
- ?*??@param?date2?
- ?*??
- ?*??@return?
- ?*??如果第一个参数的时间比第二个大,返回1,小返回-1,相等返回0?
- ?*?*/?
- private?function?dateCompare(date1:Date,?date2:Date):int?
- {?
- ????if(date1.fullYear?>?date2.fullYear)?
- ????{?
- ????????return?1;?
- ????}?
- ????else?if(date1.fullYear?<?date2.fullYear)?
- ????{?
- ????????return?-1;?
- ????}?
- ?????
- ????if(date1.month?>?date2.month)?
- ????{?
- ????????return?1;?
- ????}?
- ????else?if(date1.month?<?date2.month)?
- ????{?
- ????????return?-1;?
- ????}?
- ?????
- ????if(date1.date?>?date2.date)?
- ????{?
- ????????return?1;?
- ????}?
- ????else?if(date1.date?<?date2.date)?
- ????{?
- ????????return?-1;?
- ????}?
- ?????
- ????return?0;???????//相等?
- }?
- ??
- /**?
- ?*?增加秒数?
- ?*??
- ?*??@param?data?
- ?*??@param?count?
- ?*??
- ?*??@return?
- ?*??????00:00:00形式字符串?
- ?*/?
- private?function?secondsAdd(date:Date,?count:int):String?
- {?
- ????var?_newDate:Date?=?dateAdd("seconds",count,date);?
- ?????
- ????//取整?
- ????var?_h:int?=?_newDate.getHours()>>0;?
- ????var?_min:int?=?_newDate.getMinutes()>>0;?
- ????var?_s:int?=?_newDate.getSeconds()>>0;?
- ?????
- ????//补0?
- ????var?_hh:String?=?_h>9?String(_h):("0"+_h);?
- ????var?_minMin:String?=?_min>9?String(_min):("0"+_min);?
- ????var?_ss:String?=?_s>9?String(_s):("0"+_s);?
- ?????
- ????return?_hh+":"+_minMin+":"+_ss;?
- }?
- ??
- /**?
- ?*?两个日期之间相差的分钟数?
- ?*??
- ?*??@param??
- ?*??dataStr?????????2012-01-02?04:33:10?
- ?*??@param??
- ?*??nextDataStr?????2012-01-02?15:35:10?
- ?*???
- ?*??@return??_count?数据的个数?
- ?*/?
- private?function?getCount(dataStr:String,?nextDataStr:String):int?
- {?
- ????//正则表达式,将时间数字存入数组。?
- ????var?_pattern:RegExp?=?/-|:|?/;?
- ????var?_timeArr:Array?=?dataStr.split(_pattern);?
- ????var?_nextTimeArr:Array?=?nextDataStr.split(_pattern);?
- ?????
- ????var?_date:Date?=?new?Date(_timeArr[0],_timeArr[1],_timeArr[2],_timeArr[3],_timeArr[4],_timeArr[5]);?
- ????var?_nextDate:Date?=?new?Date(_nextTimeArr[0],_nextTimeArr[1],_nextTimeArr[2],_nextTimeArr[3],_nextTimeArr[4],_nextTimeArr[5]);?
- ?????
- ????var?_count:int?=?(((Date.UTC(_nextTimeArr[0],_nextTimeArr[5])-Date.UTC(_timeArr[0],_timeArr[5]))/1000/60)+0.5)>>0;?
- ??
- ????return?_count;?
- }?