moment.js不更新时间,只显示.js文件启动的时间



我试图在特定消息中包含实际日期和时间,但我无法做到,因为moment.js一直处于停滞状态。出于某种原因,当脚本启动时,它只会一次又一次地触发相同的时间。

//require moment + time format
var moment = require('moment');
var todaymoment = moment().format('L, hh:mm:ssa');
//Check the current time each 5 seconds and update message
setInterval(function () {
message.edit({ embeds: [currentTime.setDescription('Current time is: ' + todaymoment) && currentTime.setTitle('Time Updated!')] })
console.log(todaymoment)
}, 5000)
})

日志:

04/01/2022, 03:30:23am
04/01/2022, 03:30:23am
04/01/2022, 03:30:23am
04/01/2022, 03:30:23am

我也尝试了不同的库,但结果是一样的。

这可能是因为你已经初始化了var todayMoment一次,而你只是在每次超时时一遍又一遍地打印它,你并不是真的每5秒就得到一个新的时间值。

您可以将var todaymoment = moment().format('L, hh:mm:ssa');放置在setTimeout 中

为了解释这一点,你可以在这里看到jsFiddle-https://jsfiddle.net/kjzq567h/4/

最新更新