思路:
灵活运用DATE对象,取出截止日期与当前时间的毫秒差,再通过除、余取出相差的年、月、日、小时、分、秒

解决方案 »

  1.   

    <input type="text" id="txtDao">
    <SCRIPT LANGUAGE="JavaScript">
    <!--
    var t = "2007/03/01 00:00:00"; //终止时间
    var dt = new Date(t);
    function countDown(obj,attr,endTime,updTime){
    var cd = this;
    this.target = obj;
    this.attr = attr;
    this.endTime = endTime;
    this.updateTime = updTime;
    this.timer = null;
    function update(){
    var now = (new Date()).valueOf();
    var end = cd.endTime.valueOf();
    var sub = end - now;
    if(sub <= 0){ cd.target.setAttribute(cd.attr,"已经超过了终止时间!") ; window.clearInterval(cd.timer); return;}
    var days = parseInt(sub / (1000*60*60*24),10);
    var hours = parseInt( (sub % (1000*60*60*24))/(1000*60*60),10);
    var minutes  = parseInt( (sub % (1000*60*60))/(1000*60),10);
    var seconds = parseInt( (sub % (1000*60))/(1000),10);
    var str = days + "天" + hours + "小时" + minutes + "分" + seconds + "秒";
    cd.target.setAttribute(cd.attr,str);
    }
    this.timer = window.setInterval(update,updTime);
    }countDown(document.getElementById("txtDao"),"value",dt,1000)
    //-->
    </SCRIPT>
      

  2.   

    <input type="text" id="txtDao">
    <SCRIPT LANGUAGE="JavaScript">
    <!--
    var t = "2007/06/01 00:00:00"; //终止时间
    var dt = new Date(t);
    function countDown(obj,attr,endTime,updTime){
    var cd = this;
    this.timer = null; var sub = endTime.valueOf() - (new Date()).valueOf();
    var days = parseInt(sub / (86400000),10);
    var hours = parseInt( (sub % (86400000))/(3600000),10);
    var minutes  = parseInt( (sub % (3600000))/(60000),10);
    var seconds = parseInt( (sub % (60000))/(1000),10); function update(){
    obj.value = days + "天" + hours + "小时" + minutes + "分" + seconds + "秒";
    if(seconds > 0) seconds--;
    else {
    if(minutes > 0){ minutes--; seconds=59;}
    else{
    if(hours > 0){ hours--; minutes=59; seconds=59;}
    else{
    if(days > 0){ days--; hours=23; minutes=59; seconds=59;}
    else{
    window.clearInterval(cd.timer);
    }
    }
    }
    }
    }
    if(sub <= 0)
    obj.setAttribute(attr,"已经超过了终止时间!") ; 
    else
    this.timer = window.setInterval(update,updTime);
    }countDown(document.getElementById("txtDao"),"value",dt,1000)
    //-->
    </SCRIPT>这个应该快多了
      

  3.   

    Click the link to solve your problem.Good luck!