关于c:开源C语言库MelonCron格式解析

本文介绍开源C语言库Melon的cron格局解析。

对于 Melon 库,这是一个开源的 C 语言库,它具备:开箱即用、无第三方依赖、装置部署简略、中英文文档齐全等劣势。

Github repo

简介

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格局为* * * * *,含意即是每分钟。

程序流程大抵:

  1. 初始化格局字符串
  2. 获取以后零碎秒值
  3. 将以后秒值作为参考基数,来计算该cron格局的秒级工夫戳,即下一秒的工夫值
  4. 输入cron解析器返回的秒值及其格式化字符串内容

Melon中cron解析器在mln_cron.h中,应用时须要include进来。

另外需注意,在Melon中,cron临时不反对-示意范畴值。

结语

cron格局解析目前能反对的格局是crontab的一个子集,后续随着应用需要可能会再进行扩大。

另外,欢送各位对Melon感兴趣的读者拜访其Github仓库。

感激浏览!

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理