【发布时间】:2020-03-26 14:22:24
【问题描述】:
我正在尝试创建倒计时以获取我的商店关闭之前的剩余时间
// My array for the opening hours :
var openTime = [
{ open : 9, close : 17},
{ open: 9, close : 18 },
{ open: 9, close : 18 },
{ open: 9, close : 18 },
{ open: 9, close : 18 },
{ open: 9, close : 18 },
{ open: 10, close : 16.5 }
]
var current = new Date();
var day = current.getDay();
var currentTime = current.getHours() + (current.getMinutes() / 60);
var remainTime = 0;
if (openTime[day].open >= 0 && openTime[day].open < currentTime && openTime[day].close >
currentTime) {
remainTime = (openTime[day].close - currentTime).toFixed(2)
}
console.log("the shop will close in %s hours", remainTime);
但我对这一行有疑问:
var currentTime = current.getHours() + (current.getMinutes()/60);
因为当我执行代码时,例如,实际上是 17h22,代码在我的调试器上给我的当前时间等于 17.36?
线路有问题,因为它给了我错误的剩余时间......
【问题讨论】:
-
那么问题是你没有检查
22 / 60(current.getMinutes() / 60)的结果是什么? -
不是真的,真正的问题是我的代码没有给出正确的剩余时间
-
您的代码有效。
22 / 60 ~ 0.36与您的示例完全相同。
标签: javascript time countdown hour