这题真的好恶心,也不知道啥意思,反正自己在本地测试都是ok的,传入格式为:2021-06-04 20:22:00
以下为代码
function second(render) { var date = new Date(); var now = date.getTime(); var endDate = new Date(render); //设置截止时间 var end = endDate.getTime(); var leftTime = end - now; //时间差 var d, h, m, s, ms; if (leftTime >= 0) { d = Math.floor(leftTime / 1000 / 60 / 60 / 24); h = Math.floor(leftTime / 1000 / 60 / 60 % 24); m = Math.floor(leftTime / 1000 / 60 % 60); s = Math.floor(leftTime / 1000 % 60); ms = Math.floor(leftTime % 1000); if (ms < 100) { ms = "0" + ms; } if (s < 10) { s = "0" + s; } if (m < 10) { m = "0" + m; } if (h < 10) { h = "0" + h; } //将倒计时赋值到div中 let name = document.querySelectorAll('span') name[0].innerText = d + '天' name[1].innerText = h + ':' name[2].innerText = m + ':' name[3].innerText = s if (d == 0) { name[0].classList.add('hide') } if (h == 0) { name[1].classList.add('hide') } if (m == 0) { name[2].classList.add('hide') } if (s == 0) { name[3].classList.add('hide') } } //递归每秒调用countTime方法,显示动态时间效果 return leftTime } function render(data) { var s = setInterval(function () { var dates = second(data); if (dates <= 0) { clearInterval(s) } }, 50) } render('2021-06-04 20:22:00')