使用 javascript 从 cron 格式获取日期时间
Posted
技术标签:
【中文标题】使用 javascript 从 cron 格式获取日期时间【英文标题】:Getting datetimes from cron format using javascript 【发布时间】:2011-12-14 05:49:29 【问题描述】:有谁知道任何现有的使用 javascript 的解决方案可以解析 crontab 并返回给定开始日期和结束日期之间的所有日期时间实例?
如果我有0 * * * *
,开始24/10/2011 16:00
并结束24/10/2011 19:00
然后它将返回:
24/10/2011 16:00,
24/10/2011 17:00,
24/10/2011 18:00
【问题讨论】:
Crontag? Tpyo[原文如此]?您想解析“* */4 * * * *”类型的 crontab 条目并将其转换为实际日期/时间? 添加到@MarcB,...或日期/时间范围? 我得到它的方式,输入是:startdate、enddate 和一个 crontab 行。输出应该是 crontab 命令将在两个给定日期之间运行的确切日期时间。 没错,即如果我有0 * * * *
,开始24/10/2011 16:00
并结束24/10/2011 19:00
然后它将返回24/10/2011 16:00, 24/10/2011 17:00, 24/10/2011 18:00
根据 OP 的评论更新了问题。
【参考方案1】:
您可能想查看Later.js,它可以解析 Cron 表达式并计算下一次出现的次数。
var schedule = cronParser().parse('* */5 * * * *', true);
var results = later(60).get(schedule, 100, startDate, endDate);
【讨论】:
最终自己编写了这个代码,所以对我来说有点晚了,但看起来不错!谢谢 太好了,为什么不把它作为一个包分享呢?var schedule = later.parse.cron('* */5 * * * *', true); var results = later.schedule(schedule).next(100, new Date('2016-01-25'), new Date('2016-02-25') )
这与 Java 石英 cron 调度器兼容吗?我的用例是使用兼容的调度程序,以便后端或前端可以使用 cron 表达式来获取事件。【参考方案2】:
这没什么帮助,但它是一个开始。有一些 java(不是 javascript)和 php 解决方案有一些不错的代码,如果您最终自己编写这些代码,您可能希望将其翻译和合并。
看看这两段代码:
http://www.redmoon.ch/?p=39
http://www.phpclasses.org/package/2568-PHP-Parse-cron-tab-files-to-retrieve-job-schedules.html
HTH
【讨论】:
【参考方案3】:可以使用 cron-parser 库。 更多信息here
【讨论】:
以上是关于使用 javascript 从 cron 格式获取日期时间的主要内容,如果未能解决你的问题,请参考以下文章
如何通过使用 JavaScript 的 HTTP 请求从 IBM Cloud 获取 JSON 格式的数据?
如何使用 angular 2 或 javascript 从客户端计算机获取日期和时间格式?
无法从 JavaScript 中的 JSON 文件获取具有日期格式的对象 [重复]
Javascript Regex 从两个不同格式的文本块中获取特定字符串