首页 > 解决方案 > 无法在 Javascript 中使用 setHours() 将时间设置为 00:00:00:00

问题描述

我一直在尝试将时间设置为 00:00:00:00 。但是 setInterval() 停止工作。

 document.getElementById("start").addEventListener("click", function () {
       
        setInterval(function () {
            let myDate = new Date();
            myDate.setHours(0, 0, 0);
            let a = myDate.getHours();
        let b = myDate.getMinutes();
        let c = myDate.getSeconds();
            document.getElementById("counter").innerHTML = `${a}:${b}:${c}`;
        }, 1000);
    });
<h2 id="counter"></h2>
<button id="start">Start</button>
<button id="reset">Reset</button>
<button id="pause">Pause</button>

.

标签: javascript

解决方案


如果您查看 MDN 的文档setHours,您会看到:

...返回从 1970 年 1 月 1 日 00:00:00 UTC 到更新的 Date 实例表示的时间的毫秒数。

myDate将具有更新的日期/时间,但myTime只是自时代以来的毫秒数。

如果您想要 string "00:00:00:00",则必须自己创建它(尽管在您的示例中,它只是一个文字,因为它都没有改变)。我不清楚最终:00应该是什么(通常为毫秒),但您可以使用,等.000获取日期的各个部分,并构建您想要的字符串。getHoursgetMinutes


推荐阅读