日期:2014-05-18  浏览次数:20660 次

js写动态倒计时
现在有需要做一个倒计时的东西
  结束的时间是从后台数据库读的 格式为 yyyy-MM-dd HH:mm:ss 现在想在前台页面做个倒计时 和数据库的时间对比,要是动态的走动的,显示格式为 -天-时-分-秒 不知道那位仁兄写过,分享一下,最好的性能好点的,因为这个倒计时一张也面要用很多.
  谢谢

------解决方案--------------------
HTML code

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
<script language="javascript" type="text/javascript">
<!--
 //获得当前时间,刻度为一千分一秒 
var initializationTime=(new Date()).getTime(); 
function showLeftTime()
{
 var now=new Date();
 var year=now.getYear();
 var month=now.getMonth();
 var day=now.getDate();
 var hours=now.getHours();
 var minutes=now.getMinutes();
 var seconds=now.getSeconds();
 document.all.show.innerHTML="当前时间:"+year+"年"+month+"月"+day+"日"+hours+"小时"+minutes+"分"+seconds+"秒";
 //设定结束时间
 //1秒=1000毫秒
 endTime=initializationTime+60000;
 //设定并显示剩余时间

 var leftTime=endTime-(new Date()).getTime();
 if(leftTime>0)
 {
  document.all.showLeft.innerHTML=leftTime+"微秒后停止!";
 }
 else
 { 
  clearTimeout(timeID);
  document.all.showLeft.innerHTML="TimeOut!";
  return false;
 }
 //一秒刷新一次显示时间 
 var timeID=setTimeout(showLeftTime,1000); 
}
//-->
</script>
</head>
<body onload="showLeftTime()">
<label id="show">这里显示开始时间</label><br>
<label id="showLeft">这里显示剩余时间</label>
</body>
</html>

文章出处:http://www.diybl.com/course/1_web/javascript/jsjs/20071028/80832.html

------解决方案--------------------
var date = new Date();
  
 默认的时间格式是 UTC 格式,美式时间。所以你传自己的格式进去是不行。你想要比较两个时间差的话,首先把当前每个时间段获取下来,如:
HTML code

var nowtime = new Date();
var year = nowtime.getYear();
var month = nowtime.getMonth();    (从 0 开始)            
var day = nowtime.getDate();   (小于 10 时,前面没有加0,所以你传入的参数前面也不能加 0)
var hour = nowtime.getHours();  (小于 10 时,前面没有加0,所以你传入的参数前面也不能加 0)
var minutes = nowtime.getMinutes();  (小于 10 时,前面没有加0,所以你传入的参数前面也不能加 0)
var seconds = nowtime.getSeconds();