时间差计算函数

 时间差计算函数,可直接返回相差的天,小时,分钟,秒,用于实现倒计时功能。

代码如下:

$.extend({
    /**
     * 获取时间差
     * @param {Date} sDate : 起始时间
     * @param {Date} eDate : 结束时间
     * @param {Function} callback : 返回时间差(天,小时,分钟,秒)
     */
    diffDate:function(sDate,eDate,callback){
        var d1 = sDate.getTime(),d2 = eDate.getTime(),_d,_h,_m,_s,_diff;
        if(d1<d2){
            var differ = (d2-d1)/1000;
            _d = Math.floor(differ/60/60/24);
            _h = Math.floor(differ/60/60)-(_d*24);
            _m = Math.floor(differ/60)-(_h*60)-(_d*24*60);
            _s = Math.floor(differ%60%60);
            callback(_d,_h,_m,_s);
        }else{
            if($.isFunction(callback)){
                callback(-1);
            }
        }            
    }
});

使用方法:

$.diffDate(new Date(),new Date('2017/5/10 16:33:00'),function(d,h,m,s){});
    // date1 < date2 时,返回时间差
    // date1 >= date2 时,返回d=-1

 

posted @ 2017-05-10 16:35  BarryChen89  阅读(1036)  评论(0编辑  收藏  举报