本文介绍开源 C 语言库 Melon 的 cron 格式解析。
关于 Melon 库,这是一个开源的 C 语言库,它具有:开箱即用、无第三方依赖、安装部署简单、中英文文档齐全等优势。
cron 也就是我们常说的 Crontab 中的时间格式,格式如下:
* * * * *
分 时 日 月 周
例如:
30 21 * * *
表示:每晚的 21:30
Melon 中 cron 格式解析器会将上述格式解析成一个time_t
类型值。使用代码如下:
#include "mln_cron.h"
#include <stdio.h>
int main(void)
{
char p[] = "* * * * *;
mln_string_t s;
mln_string_nset(&s, p, sizeof(p)-1);
time_t now = time(NULL);
time_t next = mln_cron_parse(&s, now);
printf("%lu %lu %s\n", (unsigned long)now, (unsigned long)next, ctime(&next));
return 0;
}
可以看到,本例中,cron 格式为* * * * *
,含义即是每分钟。
程序流程大致:
Melon 中 cron 解析器在mln_cron.h
中,使用时需要include
进来。
另外需注意,在 Melon 中,cron 暂时不支持-
表示范围值。
cron 格式解析目前能支持的格式是 crontab 的一个子集,后续随着使用需求可能会再进行扩展。
另外,欢迎各位对 Melon 感兴趣的读者访问其Github 仓库。
感谢阅读!
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.