2026-10-22 14:38:36
其实加一个判断就行了,这是因为时区差的原因。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<time datetime="2014-11-28"></time><br>
<time datetime="2014-11-28 00:00:00"></time><br>
<time datetime="2014-11-28,00,00,00"></time><br>
<time datetime="2014-11-28,11:00:00"></time><br>
</body>
</html>
<script>
var time=document.getElementsByTagName('time');
now=new Date();
//alert(now);
function addtime (y) {
setInterval(
function (){
var s0=1000,m0=s0*60,h0=m0*60,d0=h0*24,now=new Date(),t,dt=y.getAttribute('datetime');
t=Date.parse(dt)-now+(/:/.test(dt)?0:now.getTimezoneOffset()*60000);
if(t<0){y.innerHTML= '已经开始了'}else{
var d=Math.floor(t/d0), h=Math.floor((t-d*d0)/h0), m=Math.floor((t-d*d0-h*h0)/m0), s=Math.floor((t-d*d0-h*h0-m*m0)/s0);
y.innerHTML= '还剩'+('0'+d).substr(-2)+'天'+('0'+h).substr(-2)+'时'+('0'+m).substr(-2)+'分'+('0'+s).substr(-2)+'秒';}
},1000);
}
for (var i = 0; i < time.length; i++) {
addtime(time[i])
}
</script>
2026-04-07 20:51:51
2026-07-28 17:11:44
2026-02-05 14:10:37
2026-08-20 00:41:58