【问题标题】:What is the best way in node to get a change of the hour? [closed]节点中更改时间的最佳方法是什么? [关闭]
【发布时间】:2020-05-01 14:50:02
【问题描述】:

我可以每隔 10 分钟左右定期检查一次,但这可能会在 9:59 分钟后触发。 我认为如果我可以只听一个日期时间更改事件会更好。

有没有类似的东西我没有找到或任何实际的解决方法?

【问题讨论】:

  • 您能否提供更多有关您的用例的背景信息?您是否考虑过利用 node-cron 之类的东西?
  • @esqew 我希望我的程序作为服务运行,并希望在夜间/白天时触发一些代码。 Node-cron 看起来很有前途,我会更深入地研究它!

标签: javascript node.js dom-events


【解决方案1】:

确定距离下一小时结束还有多长时间,然后为该时间段设置超时。

const hours = Date.now() / 3600000;
const sleepMillis = (Math.ceil(hours) - hours) * 3600000;

setTimeout(() => doYourThing(), sleepMillis);

注意:要使此代码在不偏离 UTC 整小时数的时区工作,需要多加注意。

【讨论】:

  • 非常聪明!我想我可以自己做这个太简单了:D 如果我没有找到“更好”的东西,我肯定会使用这个,谢谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-02-18
  • 2016-09-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多