Language agnostic 在linux之外解析/评估/生成crontab表达式?

Language agnostic 在linux之外解析/评估/生成crontab表达式?,language-agnostic,crontab,cronexpression,Language Agnostic,Crontab,Cronexpression,我正在构建一些需要调度输入的软件,我真的很想重用crontab的设计,因为它很简单 可以是非常简单的*/5****“每五分钟运行一次”或更复杂的2-59/3 1,9,22 11-26 1-6?2003年“2003年1月至6月每月11日至26日每三分钟一次,从凌晨1点2分、上午9点和晚上10点开始” 我不打算使用名为crontab的linux软件,我正在寻找一种能够正确计算这些表达式的方法(例如,输出与crontab匹配的下25个时间戳,或者根据用户的一些抽象GUI生成它) 我真的找不到任何用Ja

我正在构建一些需要调度输入的软件,我真的很想重用crontab的设计,因为它很简单

可以是非常简单的
*/5****
“每五分钟运行一次”或更复杂的
2-59/3 1,9,22 11-26 1-6?2003年
“2003年1月至6月每月11日至26日每三分钟一次,从凌晨1点2分、上午9点和晚上10点开始”

我不打算使用名为crontab的linux软件,我正在寻找一种能够正确计算这些表达式的方法(例如,输出与crontab匹配的下25个时间戳,或者根据用户的一些抽象GUI生成它)


我真的找不到任何用JavaScript、PHP甚至其他语言实现这一点的库或函数。如果它们不存在,有什么好的方法可以做到这一点?我已经知道一个过于复杂的正则表达式可能是错误的答案。我也很难找到C,这让我相信它可能不会在这里发生?

要输出与crontab匹配的下25个时间戳,可以使用Python模块:

from datetime import datetime, timedelta
import crontab

tab = crontab.CronTab('2-59/3 1,9,22 11-26 1-6 ? 2012')

dt = datetime.now()
for _ in xrange(25):
    delay = tab.next(dt) # seconds before this crontab entry can be executed.
    dt += timedelta(seconds=delay)
    print(dt)
输出
还有一个提供
crontab
模块,但功能更丰富(解析/生成)。

要输出与crontab匹配的下25个时间戳,可以使用Python模块:

from datetime import datetime, timedelta
import crontab

tab = crontab.CronTab('2-59/3 1,9,22 11-26 1-6 ? 2012')

dt = datetime.now()
for _ in xrange(25):
    delay = tab.next(dt) # seconds before this crontab entry can be executed.
    dt += timedelta(seconds=delay)
    print(dt)
输出
还有一个提供了
crontab
模块,但功能更丰富(parse/generate)。

有一个Java库,作为其中的一部分,可以很容易地用来计算cron表达式

CronExpression
生成的方法类似于
issatifiedby(Date-Date)
getNextValidTimeAfter(Date-Date)
,非常有用


该库是免费提供的。

有一个Java库作为其中的一部分,可以很容易地用于计算cron表达式

CronExpression
生成的方法类似于
issatifiedby(Date-Date)
getNextValidTimeAfter(Date-Date)
,非常有用


该库是免费提供的。

Ah-ha,它实际上在这个crontab源文件中。。。啊哈,它实际上在这个crontab源文件中。。。