时间怎么不会减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);
我有一个值,我想每秒减少 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);