MOMT.JS没有更新时间,仅显示启动.js文件的时间

发布于 2025-01-18 14:05:56 字数 684 浏览 1 评论 0原文

我试图在特定消息中包含实际日期和时间,但是我无法做到这一点,因为 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

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

I'm trying to include actual date and time to the certain message, however I'm unable to do it, because moment.js keeps stucked at the same time. For some reason it only triggers the same time over and over again when script was started.

//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)
  })

logs:

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

I also tried different library, but results are same.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

节枝 2025-01-25 14:05:56

这可能是因为您已经初始化了 var TodayMoment 一次,并且只是在每次超时时一次又一次地打印它,您并没有真正每 5 秒获得一个新的时间值。

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

要解释这一点,您可以在此处查看 jsFiddle - https://jsfiddle.net/kjzq567h/4/

This could be because you have initialised the var todayMoment once and you are just printing it again and again every timeout, you are not really getting a new time value every 5 seconds.

You could place your var todaymoment = moment().format('L, hh:mm:ssa'); inside the setTimeout

To explain this you can see the jsFiddle here - https://jsfiddle.net/kjzq567h/4/

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文