Language agnostic 在linux之外解析/评估/生成crontab表达式?
我正在构建一些需要调度输入的软件,我真的很想重用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
*/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源文件中。。。