js倒計時-倒計輸入的時間


計算指定時間到指定時間之間相差多少天、時、分、秒。

節日、活動、商城常用。

 

原理:

主要使用到時間戳,也就是從1970 年 1 月 1 日 到指定時間的毫秒數。

1. 求出毫秒差 :當兩個時間直接進行運算時,他們自動返回毫秒值。

2. 換算時間單位: 向下取整,把毫秒轉為相應的單位;再把剩下的毫秒取出來轉為下一個需要的單位。

 

時間戳可以用 Date.pare(時間)時間.getTime() 得到。 前者可以用字符串或時間對象,后者只能使用時間對象。

 

HTML

<!--
Author: XiaoWen
Create a file: 2017-01-03 19:05:26
Last modified: 2017-01-04 14:17:31
Start to work:
Finish the work:
Other information:
-->
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Document</title>
</head>
<body>
<input type="text">
<input type="text">
<input type="button" value="開始倒計時">
</body>
<script>
//js代碼在下面
</script>
</html>

 

JS

var input = document.getElementsByTagName('input');
var timer=null;
input[2].onclick=function(){
  //clearInterval(timer)
  timer=setInterval(test,1000);
}
function test(){
    var t1=input[0].value//='2017/01/05 13:31';
    if(new Date(t1)-new Date()<=0){
      clearInterval(timer);
      alert('計時完成');
    }else{
      var d=cd(t1, new Date(), 'd');
      var h=cd(t1, new Date(), 'h');
      var m=cd(t1, new Date(), 'm');
      var s=cd(t1, new Date(), 's');
      input[1].value=d+'天'+h+'時'+m+'分'+s+'秒';
    }
  }

 

JS倒計時函數

/*
2017-01-04 by xw
獲取倒計時 返回值數字
t1 開始時 時間格式 t2 結束時 時間格式 tg 要獲取的值 字符串 d 天 h 時 m 分 s 秒
*/ function cd(t1, t2, tg) { //相差的毫秒數 var ms = Date.parse(t1) - Date.parse(t2); var minutes = 1000 * 60; var hours = minutes * 60; var days = hours * 24; var years = days * 365; //求出天數 var d = Math.floor(ms / days); //求出除開天數,剩余的毫秒數 ms %= days; var h = Math.floor(ms / hours); ms %= hours; var m = Math.floor(ms / minutes); ms %= minutes; var s = Math.floor(ms / 1000); //返回所需值並退出函數 switch(tg){ case 'd' : return d; case 'h' : return h; case 'm' : return m; case 's' : return s; } }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM