js时间倒计时方法(转)

示例结果:

时间1:

000天10小时02分51秒

时间2:

188天19小时02分51秒

时间3:

066天06小时10分51秒

Code
<body>

    
<script type="text/javascript" language="javascript"> 
        
var target=[] 
        
var time_id=[] 
        
/*
          原理:每次和当前时间比较,得到天、小时、分、秒
        
*/
        
function show_date_time_0()
        { 
            setTimeout(
"show_date_time_0()"1000); 
            
for (var i=0,j=target.length;i<j;i++)
            { 
                today
=new Date();          
                
//计算目标时间与当前时间间隔(毫秒数)
                var timeold=target[i]-today.getTime(); //getTime 方法返回一个整数值,这个整数代表了从 1970 年 1 月 1 日开始计算到 Date 对象中的时间之间的毫秒数。
                
                
//计算目标时间与当前时间的秒数
                var sectimeold=timeold/1000; 
                
                
//计算目标时间与当前时间的秒数(整数)
                var secondsold=Math.floor(sectimeold);
                
                
//计算一天的秒数 
                var  msPerDay=24*60*60*1000
               
                
//得到剩余天数
                var e_daysold=timeold/msPerDay; 
                 //得到剩余天数(整数)
                var daysold=Math.floor(e_daysold); 
                
                
//得到剩余天数以外的小时数
                var e_hrsold=(e_daysold-daysold)*24
                 
//得到剩余天数以外的小时数(整数)
                var hrsold=Math.floor(e_hrsold); 
                
                
//得到尾剩余分数
                var e_minsold=(e_hrsold-hrsold)*60
                
//得到尾剩余分数(整数)
                minsold=Math.floor((e_hrsold-hrsold)*60); 
                
                
//得到尾剩余秒数(整数)
                seconds=Math.floor((e_minsold-minsold)*60); 
                
if (daysold<0
                { 
                    document.getElementById(time_id[i]).innerHTML
="逾期,倒计时已经失效"
                }  
                
else 
                { 
                    
//天数取三位,不足时前边补0
                    if (daysold<10) { daysold="0"+daysold } 
                    
//天数取三位,不足时前边补0
                    if (daysold<100) { daysold="0"+daysold } 
                    
                    
//小时取两位,不足补0
                    if (hrsold<10) { hrsold="0"+hrsold } 
                    
//分数取两位,不足补0
                    if (minsold<10) {minsold="0"+minsold} 
                    
//秒数取两位,不足补0
                    if (seconds<10) {seconds="0"+seconds} 
                    
                    
//小于三天时,字体为红色
                    if (daysold<3) { 
                        document.getElementById(time_id[i]).innerHTML
="<font color=red>"+daysold+""+hrsold+"小时"+minsold+""+seconds+"秒</font>"
                    }  
                    
else 
                    { 
                        document.getElementById(time_id[i]).innerHTML
=daysold+""+hrsold+"小时"+minsold+""+seconds+""
                    } 
                }
                 
            } 
        } 
        setTimeout(
"show_date_time_0()"100); 
    
</script>

    时间1:
    
<div id="TimeCounter_0" style="border: 1px solid black; margin: 5px; padding: 2px;
         300px"
>
    
</div>

    
<script type="text/javascript"> 
        
//设定目标时间(数组元素) 
        //target[target.length]=new Date(年,月-1,日,时,分,秒).getTime() 
        target[target.length]=new Date(2009,06-1,04,00,00,00).getTime(); 
        
        
//设定倒计时显示地址(数组元素) 
        time_id[time_id.length]="TimeCounter_0" 
    
</script>

   时间2:
    
<div id="TimeCounter_1" style="border: 1px solid black; margin: 5px; padding: 2px;
         300px"
>
    
</div>

    
<script type="text/javascript"> 
        target[target.length]
=new Date(2009,11,9,09,00,00).getTime() 
        time_id[time_id.length]
="TimeCounter_1" 
    
</script>

    时间3:
    
<div id="TimeCounter_3" style="border: 1px solid black; margin: 5px; padding: 2px;
         300px"
>
    
</div>

    
<script type="text/javascript"> 
        target[target.length]
=new Date(2009,7,8,20,8,0).getTime() 
        time_id[time_id.length]
="TimeCounter_3" 
    
</script>

</body>

aliyun活动 https://www.aliyun.com/acts/limit-buy?userCode=re2o7acl
原文地址:https://www.cnblogs.com/wangbin/p/1505183.html