gpt4 book ai didi

javascript - 与已解析数字的比较失败

转载 作者:行者123 更新时间:2023-12-03 02:19:58 24 4
gpt4 key购买 nike

我正在尝试将时间数组与当前本地时间进行比较。但对于某些值,比较数字失败。据我所知,它并不总是失败相同的时间字符串。我真的不知道原因是什么。

function lastPassedTimeIndex() {
const d = new Date();
const nowHr = d.getHours();
const nowMin = d.getMinutes();

let lastPassedTimeIndex = 0;
const currentTimes = ['05:20', '06:57', '12:46', '15:48', '18:30', '20:02'];

for (const time of currentTimes) {
const t = time.split(':');
const printHr = parseInt(t[0], 10);
const printMin = parseInt(t[1], 10);

if ((printHr < nowHr) && (printMin < nowMin)) {
console.log(time, 'previous from now');
lastPassedTimeIndex++;
}
else if ((printHr === nowHr) && (printMin < nowMin)) {
console.log(time, 'previous from now, but hour is correct');
lastPassedTimeIndex++;
}
else if ((printHr === nowHr) && (printMin >= nowMin)) {
console.log(time, 'is upcoming or now and hour is correct');
lastPassedTimeIndex++;
}
else if ((printHr > nowHr)) {
console.log(time, 'is upcoming, hour is larger');
}
else {
console.log('I have no idea!');
}
}

console.log('LastPassedTimeIndex ', lastPassedTimeIndex);
return lastPassedTimeIndex;
}

这是我的控制台输出:

> I have no idea! 
> I have no idea!
> 12:46 is upcoming, hour is larger
> 15:48 is upcoming, hour is larger
> 18:30 is upcoming, hour is larger
> 20:02 is upcoming, hour is larger
> LastPassedTimeIndex 0

最佳答案

我只看到一个错误,已通过以下方式修复:

 const printHr = parseInt(t[0], 10);
const printMin = parseInt(t[1], 10);

if ((printHr < nowHr) /* Take out what was here */) {
console.log(time, 'previous from now');
lastPassedTimeIndex++;
}

关于javascript - 与已解析数字的比较失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49204352/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com