时间怎么不会减1?

How won't time decrease by 1?

我有一个值,我想每秒减少 1,然后格式化为日期时间格式,这样看起来计时器正在倒计时。我的问题是它每秒 returns 相同的值而不是减少 1。

var measuredTime = new Date(null);

var number = 180;

var timeFormat = measuredTime.setSeconds(number);

console.log("test");

setInterval(function () {
 timeFormat = timeFormat - 1; 
 var timeString = measuredTime.toISOString().substr(11, 8);
 console.log(timeString);
}, 1000);

你把事情想得太复杂了。您永远不会更新 measuredTime 所以它每次都显示相同的内容。

应该这样做:

var number = 180;

setInterval(function () {
 var time = new Date(number * 1000).toISOString().substr(11, 8)
 console.log(time);
 number--
}, 1000);