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>