在浏览器中,我们可以通过使用setInterval并像这样替换HTML元素中的内容来使实时时钟以单行显示:
var span = document.getElementById('span');
function time() {
var d = new Date();
var s = d.getSeconds();
var m = d.getMinutes();
var h = d.getHours();
span.textContent =
("0" + h).substr(-2) + ":" + ("0" + m).substr(-2) + ":" + ("0" + s).substr(-2);
}
setInterval(time, 1000);
<span id="span"></span>
但是,我们如何用NodeJS在终端控制台做同样的事情?如果我们使用console.log和setInterval,它将创建新的行。这样的:
07:00:01
07:00:02
07:00:03
07:00:04
我只想在终端上单行显示console.log实时时钟。
您希望使用r
以stdout结束前一行。
setInterval(() => process.stdout.write(`${new Date()}r`), 1000);