本文介绍: 本文介绍开源C语言库Melon的cron格式解析。cron也就是我们常说的Crontab中的时间格式,我们将使用Melon库的cron解析器来完成cron格式到时间戳的转换。
本文介绍开源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 %sn", (unsigned long)now, (unsigned long)next, ctime(&next));
return 0;
}
可以看到,本例中,cron格式为* * * * *
,含义即是每分钟。
程序流程大致:
- 初始化格式字符串
- 获取当前系统秒值
- 将当前秒值作为参考基数,来计算该cron格式的秒级时间戳,即下一秒的时间值
- 输出cron解析器返回的秒值及其格式化字符串内容
Melon中cron解析器在mln_cron.h
中,使用时需要include
进来。
另外需注意,在Melon中,cron暂时不支持-
表示范围值。
结语
cron格式解析目前能支持的格式是crontab的一个子集,后续随着使用需求可能会再进行扩展。
另外,欢迎各位对Melon感兴趣的读者访问其Github仓库。
感谢阅读!
原文地址:https://blog.csdn.net/weixin_40960130/article/details/135470899
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_53978.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。