php时间戳差异的JavaScript倒计时

php时间戳差异的JavaScript倒计时,php,javascript,jquery,timestamp,countdown,Php,Javascript,Jquery,Timestamp,Countdown,我想倒计时,它是php中两个时间的差,结果是时间戳 {var $time = new \DateTime()} <div class="date" data-date="{= ($time2->getTimestamp() - $time->getTimestamp())*1000}"> 存在无法正常工作的代码 jQuery.countdown = function(selector, datevalue) {

我想倒计时,它是php中两个时间的差,结果是时间戳

{var $time = new \DateTime()}        

<div class="date" data-date="{= ($time2->getTimestamp() - $time->getTimestamp())*1000}">
存在无法正常工作的代码

jQuery.countdown = function(selector, datevalue) {

                    var amount = datevalue;

        // catch past dates
        if(amount < 0){
            $(selector).html("Done");
        }

        // date is in the future, calculate the diff
        else{
            days=0;hours=0;mins=0;secs=0;out="";

            amount = Math.floor(amount/1000);//kill the "milliseconds" so just secs

            days=Math.floor(amount/86400);//days
            amount=amount%86400;

            hours=Math.floor(amount/3600);//hours
            amount=amount%3600;

            mins=Math.floor(amount/60);//minutes
            amount=amount%60;

            secs=Math.floor(amount);//seconds

            //if(days != 0){out += days +" day"+((days!=1)?"s":"")+", ";}
                            //if(days == 0) {
                                if(days != 0 || hours != 0){out += ((hours<10)?"0":"") + hours +":";}
                                if(days != 0 || hours != 0 || mins != 0){out += ((mins<10)?"0":"") + mins +":";}
                                out += ((secs<10)?"0":"") + secs;
                                $(selector).html(out);
                            //}
            // run it all again
            setTimeout(function() {  
                $.countdown(selector, datevalue);
            }, 1000); 

        }

};
jQuery.countdown=函数(选择器,日期值){
var金额=日期值;
//赶上过去的日期
如果(金额<0){
$(选择器).html(“完成”);
}
//日期在未来,计算差异
否则{
天=0;小时=0;分钟=0;秒=0;out=“”;
amount=Math.floor(amount/1000);//去掉“毫秒”,只需秒
天数=数学下限(金额/86400);//天
金额=金额%86400;
小时=数学地板(数量/3600);//小时
金额=金额%3600;
分钟=数学地板(数量/60);//分钟
金额=金额%60;
秒=Math.floor(数量);//秒
//如果(天!=0){out+=days+“day”+((天!=1)?“s”:“)+”,“;}
//如果(天数==0){

如果(days!=0 | | hours!=0){out+=((hours答案很简单:您不减少datevalue变量,因此对于所有迭代都是一样的

看看下面的例子,它工作得很好

jQuery.countdown = function(selector, datevalue) {

    var amount = datevalue;

    // catch past dates
    if(amount < 0){
        $(selector).html("Done");
    }

    // date is in the future, calculate the diff
    else{
        datevalue--;
        $(selector).html(datevalue);
        setTimeout(function() {  
            $.countdown(selector, datevalue);
        }, 1000); 
    }
};

$.countdown('.date', 10);​​​
jQuery.countdown=函数(选择器,日期值){
var金额=日期值;
//赶上过去的日期
如果(金额<0){
$(选择器).html(“完成”);
}
//日期在未来,计算差异
否则{
日期值--;
$(选择器).html(日期值);
setTimeout(函数(){
$.countdown(选择器,日期值);
}, 1000); 
}
};
$倒计时('.date',10);​​​

如果超时时间为1秒,该如何工作?
time=parseInt($(this.data('date'),10);
也许吧?如果删除
amount=Math.floor(amount/1000);//去掉“毫秒”,只需几秒
,就可以从php中删除*1000
jQuery.countdown = function(selector, datevalue) {

    var amount = datevalue;

    // catch past dates
    if(amount < 0){
        $(selector).html("Done");
    }

    // date is in the future, calculate the diff
    else{
        datevalue--;
        $(selector).html(datevalue);
        setTimeout(function() {  
            $.countdown(selector, datevalue);
        }, 1000); 
    }
};

$.countdown('.date', 10);​​​