开源C语言库Melon:Cron格式解析

本文介绍开源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仓库

感谢阅读!

相关推荐

  1. Yaml格式

    2024-01-10 09:08:02       21 阅读
  2. Json格式

    2024-01-10 09:08:02       22 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-01-10 09:08:02       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-10 09:08:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-10 09:08:02       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-10 09:08:02       20 阅读

热门阅读

  1. Unity两组Toggle一一对应关系

    2024-01-10 09:08:02       37 阅读
  2. Agisoft Metashape 地面点分类参数设置

    2024-01-10 09:08:02       43 阅读
  3. 如何使用 Golang 比较版本号大小?

    2024-01-10 09:08:02       33 阅读
  4. vim文本编辑器,常用命令

    2024-01-10 09:08:02       39 阅读
  5. Swagger2以及Spring Boot整合Swagger2教程

    2024-01-10 09:08:02       42 阅读