<script>
function getDistanceTime(time,showInterval){
var endTime= new Date(Date.parse(time.replace(/-/g, "/")));
/*replace将时间字符串中所有的'-'替换成'/',parse将时间格式的字符串转换成毫秒*/
var nowTime = new Date();
var distance =endTime.getTime() - nowTime.getTime();
/*getTime把一个date对象转换成毫秒*/
var day = 0;
var hour = 0;
var minute = 0;
var second = 0;
if(distance >= 0){
day = Math.floor(distance/1000/60/60/24);
hour = Math.floor(distance/1000/60/60%24);
minute = Math.floor(distance/1000/60%60);
second = Math.floor(distance/1000%60);
}else{
alert("目标日期小于当前日期!")
}
document.getElementById(showInterval).innerHTML = day + "天" + hour + "时" + minute + "分" + second + "秒";
}
setInterval(function(){getDistanceTime('2021-10-30 12:50:00','showInterval');},10);
</script>
这个是倒计时源码,我想把其中的setInterval(function(){getDistanceTime('2021-10-30 12:50:00','showInterval');},10);这里的时间换成调用数据库里的日期
结束时间:${a.AUCTION_TIME}
这里的${a.AUCTION_TIME}就是时间,显示格式是2020-09-20 19:20:50。
请问我该如何做啊?
是jsp的文件
获取数据库时间后,调用这个函数,将时间字段传递到这个函数内。
getDistanceTime(${a.AUCTION_TIME},'showInterval')
函数是没有问题的,你要检测你传进来的值的问题,在你函数里面用console.log(time) 检测这个的值
比如
function getDistanceTime(time,showInterval){
console.log(time) //输出查看
var endTime= new Date(Date.parse(time.replace(/-/g, "/")));
/*replace将时间字符串中所有的'-'替换成'/',parse将时间格式的字符串转换成毫秒*/
console.log(endTime) //输出查看
var nowTime = new Date();
var distance =endTime.getTime() - nowTime.getTime();
这样加上,然后再控制台查看结果方便你找原因