代码如下,比如从今天开始,到9月1号结束,倒计时显示只有22多个小时
少了1天啊,8月有31天啊,帮忙给改改,谢谢!
bTime,eTime, 是程序输入指定的!<script type="text/javascript">

var eTime="2010-9-1 9:00:00"
var bTime="2010-8-30 11:02:32"
function transformTime(Time)//时间转换
{
Time=Time.toLocaleString();
Time=Time.replace(/\D/g,",");
return Time
}
function timeLag(bTime,eTime,showObj)
{
bTime=transformTime(bTime);
eTime=transformTime(eTime);
alert(bTime);
alert(eTime);
var bTime = eval("new Date("+bTime+")").getTime();//开始时间
var eTime = eval("new Date("+eTime+")").getTime();//结束时间
//var nowTime = new Date().getTime();//现在时间
GetRTime(bTime,eTime,showObj);
}
function GetRTime(bTime,eTime,showObj)
{
var nMS=eTime-bTime;//现在时间与结束时间之间毫秒差
var nD=Math.floor(nMS/(1000*60*60*24));
var nH=Math.floor(nMS/(1000*60*60) % 24);
var nM=Math.floor(nMS/(1000*60)) % 60;
var nS=Math.floor(nMS/1000) % 60;
var el=document.getElementById(showObj);
bTime+=1000
//el.innerHTML = [nH,nM,nS].join(".");
el.innerHTML = "<span>"+nD+"</span>天 <span>"+nH+"</span>小时 <span>"+nM+"</span>分 <span>"+nS+"</span>秒";
if(nD==0&&nH==0&&nM==0&&nS==0) {window.location.reload();}
else {setTimeout("GetRTime("+bTime+","+eTime+",'"+showObj+"')",1000);}
}

</script>

解决方案 »

  1.   

    注意月份是从 0 开始的。
    var s = new Date();
    s.setFullYear(2010,9,31);
    var e = new Date();
    e.setFullYear(2010,10,1);
    alert((e.getTime() -s.getTime())/(1000*60*60))
      

  2.   

          var bTime = eval("new Date("+bTime+")").getTime();//开始时间
            var eTime = eval("new Date("+eTime+")").getTime();//结束时间
            //var nowTime = new Date().getTime();//现在时间        GetRTime(bTime,eTime,showObj);
      function GetRTime(bTime,eTime,showObj)
        {
            var nMS=eTime-bTime;//现在时间与结束时间之间毫秒差
     你自己看一下 你的代码 你传过来的 是开始  和 结束时间  
    你后面 有注释 现在时间与结束时间之间毫秒差