gpt4 book ai didi

javascript - 比较显示意外结果的日期对象

转载 作者:行者123 更新时间:2023-11-29 19:11:27 31 4
gpt4 key购买 nike

我这里有一些代码:

  • 让我们以“hh:mm”的格式输入起床时间
  • 输出一个 sleep 时间列表,为您提供 90 分钟的 sleep 时间倍数(此列表将建议晚上 8 点后的任何时间的 sleep 时间)

    var inputTime = prompt("input wake up time");
    var colonPosition = inputTime.indexOf(":")
    var inputHrs = parseInt(inputTime.substring(0, colonPosition));
    var inputMin = parseInt(inputTime.substr(colonPosition + 1, 2));

    var timeNow = new Date();
    timeNow.setHours(inputHrs);
    timeNow.setMinutes(inputMin);
    timeNow.setDate(timeNow.getDate() + 1)

    var sleepTime = new Date();
    sleepTime.setHours(20);

    while(timeNow > sleepTime) {
    timeNow.setMinutes(timeNow.getMinutes() - 90);
    document.write(timeNow + "<br />")
    }

如果我输入 9:00 的唤醒时间,则输出包括 19:30。

为什么我的 while 没有在输出中过滤掉 19:30?

最佳答案

Why isn't my while conditional filtering out 19:30 in the output?

您像使用 for 循环一样使用 while 循环,但是您的 afterthought正在您的实际代码之前运行。检查后,您正在将条件值更改为错误值。

您应该将减去 90 分钟移动到 while block 的末尾。

while(timeNow > sleepTime) { 
document.write(timeNow + "<br />");
timeNow.setMinutes(timeNow.getMinutes() - 90);
}

关于javascript - 比较显示意外结果的日期对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38596416/

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