如何让一段代码在Javascript中精确地(比如12月31日午夜)运行?
我有一段代码,需要在每年12月31日11:59:59执行。 我在Mean.Js框架下工作,所以最好有一个特定于Node.Js的解决方案如何让一段代码在Javascript中精确地(比如12月31日午夜)运行?,javascript,node.js,algorithm,express,mean-stack,Javascript,Node.js,Algorithm,Express,Mean Stack,我有一段代码,需要在每年12月31日11:59:59执行。 我在Mean.Js框架下工作,所以最好有一个特定于Node.Js的解决方案 但是,即使是普通的Javascript或通用算法也受欢迎。如果您想使用node.js,也可以使用cron:只需创建一个包含所需时间、日期和脚本的cron作业 否则,这样做的策略是: 确定当前日期 将其从目标日期(本年度12月31日(您需要确定)23:59)中减去 使用时差调用setTimeout 未来问题注意:阅读SO帮助文档。如果您希望答案中包含代码,请包含您
但是,即使是普通的Javascript或通用算法也受欢迎。如果您想使用node.js,也可以使用cron:只需创建一个包含所需时间、日期和脚本的cron作业 否则,这样做的策略是:
未来问题注意:阅读SO帮助文档。如果您希望答案中包含代码,请包含您迄今为止所尝试的内容,并添加代码。您基本上是在尝试安排一些事情,因此不需要任何算法。你唯一需要知道的是 注意:我假设您正在Mac或Linux上工作。windows中肯定也有类似crontab的东西,请做一些研究 crontab是一个简单的文本文件,其中包含在指定时间运行的命令列表。然后,这些命令(及其运行时)由cron守护进程控制,该守护进程在系统后台执行这些命令 您需要遵循的步骤如下:
<minute> <hour> <month day> <month> <week day> <command to execute>
* * * * * specifies "every minute, every hour, every day, every month, every week"
调用节点程序。sh:
* * * * * ~/pathtofile/call_node_program.sh
node myfile.js
因此,您的call_node_program.sh将为您完成这项工作
我将委托你做研究,并为每年12月31日11:59:59撰写模式。干杯。我认为cron作业比让节点实例一直运行以检查日期要可靠和简单得多……我同意@dandavis的观点。只有当您真的需要将其集成到正在运行的应用程序中时,您才可以使用node cron()-但使用OS cron作业更好,因为您的操作系统更可能恰好在该日期运行,而不是您的应用程序。@JackOfAll希望这个问题可能对您有所帮助@JackOfAll,如果我下面的回答对您有所帮助,请接受它。谢谢,我试过克朗。显然它在Windows上不起作用。让我检查一下linux,然后再回来。@Jackof所有Windows的替代方案都是使用Thanke@BenFortune。我没有在windows机器上工作的任何经验,我会记住这一点。:)@杰克:那很好,试试看。如果你遇到任何问题,请告诉我。让我告诉你们一些有趣的事情,当我很久以前学习的时候,我使用了“说声“hello world!””命令来确保我的cronjob工作正常,因为它会发出噪音,其余的东西在后台执行。那很有趣。你也可以试试他。