1. 程式人生 > >js中的時間與毫秒數互相轉換,倒計時

js中的時間與毫秒數互相轉換,倒計時

1、日期格式轉換成毫秒數

var oldTime = (new Date("2017-03-22 11:11:11")).getTime(); //得到毫秒數

        也可以支援  "2017/03/22 11:11:11"

2、毫秒轉化成時間

      var date = new Date(oldTime);    //得到普通格式的時間

3、倒計時

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>倒計時</title>
</head>
<body>
	<div id="ytime"></div>
	<script type="text/javascript" src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
	<script type="text/javascript">
		$(document).ready(function(){
			var enddate = '2018/03/22 9:35:30';
		    run(enddate,'ytime');//引數:截止時間,節點id
		});
		//定時器
		var timer;
		function run(enddate,id){
		    //如果enddate為後臺傳入的Date型別,這裡直接轉化為毫秒數
		    enddate = (new Date(enddate.replace("T"," "))).getTime();
		    //以500毫秒的速度執行(可以避免方法執行速度慢會影響展示效果的情況)0
		    var time = 500; 
		    timer = setInterval("dateDif('"+enddate+"','"+id+"')",time);
		}
		//計算時間相差
		function dateDif(enddate,id){
		    var date = enddate - new Date().getTime();
		    console.log(11);
		    if(date <= 0){
		    	$('#'+id).text('已超時');
		    	clearInterval(timer);
		    	return;
		    }
		    var days    = date / 1000 / 60 / 60 / 24;
		    var daysRound   = Math.floor(days);
		    var hours    = date/ 1000 / 60 / 60 - (24 * daysRound);
		    var hoursRound   = Math.floor(hours);
		    var minutes   = date / 1000 /60 - (24 * 60 * daysRound) - (60 * hoursRound);
		    var minutesRound  = Math.floor(minutes);
		    var seconds   = date/ 1000 - (24 * 60 * 60 * daysRound) - (60 * 60 * hoursRound) - (60 * minutesRound);
		    var secondsRound  = Math.floor(seconds);
		    var time = "倒計時"+(daysRound+"天"+hoursRound +"時"+minutesRound+"分"+secondsRound+"秒");

		    $('#'+id).text(time);
		} 
	</script>
</body>
</html>