【问题标题】:javascript - run a function at midnight of a given datejavascript - 在给定日期的午夜运行一个函数
【发布时间】:2016-11-27 16:01:58
【问题描述】:

我需要在给定日期的午夜运行 JS 函数。 JS 有可能吗,我的是一个节点应用程序,我正在查看 laterJS 库,但不确定我如何准确地使用 laterJS 库中的递归函数来满足这个需求。最好使用 laterJS lib 来满足此要求,而不是使用节点调度程序之类的东西。

请分享任何想法/想法。

有了这个问题,我特别希望使用一个可以像 laterJS 一样执行此操作的库,而不是节点调度程序提供的 CRON 类型的东西。

给定日期的值是完全动态的,它可以是 MM/DD/YYYY 格式的任何日期,所以基本上我不能将 later.parse.text 中的值硬编码为每月的第 25 天等。但我可以将时间硬编码为晚上 11:59,鉴于日期在 MM/DD/YYYY 格式中是动态的,我可以使用 later.parse.text('at 11:59 pm on the "+DD+"th day of " +MM+" 在 "+YYYY+"');像这样...

所以尝试了这样的事情,Constructing a later.parse.recur() to run on a specific day/month/year/time 但不知道如何处理时间.. 有什么帮助吗?

【问题讨论】:

标签: javascript node.js date datetime laterjs


【解决方案1】:

可能是您正在查看的 Later.js 的 Cron 表达式部分。它就是为这类事情而设计的。

您可以从下面选择相关的 -

如果你想在一个月的某一天,表达式将类似于

var complexSched = later.parse.recur()
              .on(15).dayOfMonth().onWeekday().on(2).hour()

如果它是一个重复的时间表,它将类似于

var textSched = later.parse.text('at 10:15am every weekday');

一个 cron 表达式将是这样的 -

var cronSched = later.parse.cron('0 0/5 14,18 * * ?');

【讨论】:

  • 说如果这是给定的日期,2016 年 7 月 25 日,如果我必须在给定日期的晚上 11:59 运行一个函数,那么使用 laterJS 我应该使用什么表达式,我仍在阅读文档,但不确定哪种类型能很好地满足需求。
  • later.parse.text('at 11:59 pm on the 25th day of the month'); 应该可以解决这个问题
  • 好的,很酷,这会起作用,我要寻找的最后一件事是给定日期的值是完全动态的,它可以是 MM/DD/YYYY 格式的任何日期,所以从根本上说,我不能将 later.parse.text 中的值硬编码为每月的第 25 天,但我可以将时间硬编码为晚上 11:59,因为我可以使用 MM/DD/YYYY 格式的动态日期later.parse.text('在"+YYYY+"中"+MM+"的"+DD+"第"+DD+"天晚上11:59');像这样...
  • 是的。您可能可以将这些值存储在配置文件中。通常,您可以将配置值以 json 格式存储在配置文件中。有一些代码可以从该配置文件中读取值并形成您的解析文本。
  • 我尝试通过 later.parse.text 使用动态日期和时间但没有成功......所以在这里想出了类似的东西stackoverflow.com/questions/38573705/… 看起来我很接近但不知道如何处理时间值。
猜你喜欢
  • 2014-12-06
  • 1970-01-01
  • 2018-08-19
  • 1970-01-01
  • 2016-10-09
  • 2016-01-13
  • 1970-01-01
  • 2011-06-22
  • 1970-01-01
相关资源
最近更新 更多