开源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仓库。

感谢阅读!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/336117.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Go语言学习笔记(二)

Go语言的学习资源 以下是一些推荐的Go语言学习资源的链接&#xff1a; Go语言教程&#xff1a;https://golang.org/doc/Go by Example&#xff1a;Go by ExampleGolang Tutorials&#xff1a;https://golangtutorials.com/Go语言第一课&#xff08;慕课网&#xff09;&#x…

【教学类-45-04】X-Y之间的“三连减加“题(a-b+c=)

作品展示&#xff1a; 背景需求&#xff1a; 【教学类-45-02】X-Y之间的“三连减“题(a-b-c)-CSDN博客文章浏览阅读465次&#xff0c;点赞15次&#xff0c;收藏7次。【教学类-45-02】X-Y之间的"三连减"题(a-b-c)https://blog.csdn.net/reasonsummer/article/details…

【Proteus仿真】【Arduino单片机】汽车车窗除霜系统设计

文章目录 一、功能简介二、软件设计三、实验现象联系作者 一、功能简介 本项目使用Proteus8仿真Arduino单片机控制器&#xff0c;使用LCD1602显示模块、光线传感器、DS18B20温度传感器、PCF8691 ADC模块、继电器加热模块等。 主要功能&#xff1a; 系统运行后&#xff0c;LCD…

3. SPSS数据文件的基本加工和处理

如何获取SPSS自带的案例数据文件&#xff1f; 首先找到SPSS的安装目录&#xff0c;然后找到Samples文件夹 可以看到有不同语言版本&#xff0c;选择简体中文 就能看到很多.sav文件 数据文件的整理 个案排序 单值排序 例&#xff1a;对于下面的数据集&#xff0c;将工资按…

华为mux vlan+DHCP+单臂路由用法配置案例

最终效果&#xff1a; vlan 2模拟局域网服务器&#xff0c;手动配置地址&#xff0c;也能上公网 vlan 3、4用dhcp分配地址 vlan 4的用户之间不能互通&#xff0c;但可以和其它vlan通&#xff0c;也能上公网 vlan 3的用户不受任何限制可以和任何vlan通&#xff0c;也能上公网 交…

SSL 阿里云证书申请和备案

一、什么是SSL SSL证书是数字证书的一种&#xff0c;类似于驾驶证、护照和营业执照的电子副本。因为配置在服务器上&#xff0c;也称为SSL服务器证书。遵守SSL协议&#xff0c;由受信任的数字证书颁发机构CA&#xff0c;在验证服务器身份后颁发&#xff0c;具有服务器身份验证…

IPC之十五:使用libdbus通过D-Bus请求系统调用实现任意DNS记录解析的实例

关于D-Bus的文章中曾介绍了如何通过D-Bus调用系统服务从而实现解析出一个域名的IP地址的过程&#xff0c;本文我们继续调用系统调用来实现解析任意DNS记录&#xff0c;系统调用的方法与前一篇文章类似&#xff0c;只是方法名称和调用参数以及返回参数不同&#xff0c;本文将详细…

typora导出html添加目录

typora导出html添加目录 使用方法 首先要从typora导出html文件&#xff0c;之后用记事本编辑器html文件 找到文档最后面&#xff0c;如图&#xff1a; 用文字编辑类工具打开sideBar.txt&#xff0c;复制其中所有内容【内容在下面】 在如上图的位置插入所复制的内容 打开修改…

node的下载、安装、配置

下载&#xff1a; 官网下载&#xff1a;Node.js 左右两个都可以&#xff1a; 安装&#xff1a; 打开cmd&#xff1a; 输入以下指令&#xff0c;如果出现版本号说明安装成功 node -v npm -v 如果npm -v报错&#xff0c;就需要自行下载npm CNPM Binaries Mirror ps&#xff1…

如何实现两台Linux虚拟机ssh免密登录

实验开始前 1.准备好两台虚拟机&#xff08;下载好镜像文件的&#xff09; 2.实验步骤 公钥验证&#xff1a;&#xff08;免密登陆验证方式&#xff09; &#xff08;1&#xff09;生成非对称秘钥 [rootclient ~]# ssh-keygen -t rsa Generating public/private rsa key pai…

STM32F4XX的12位ADC采集数值超过4096右对齐模式设置失败

文章目录 一、前言二、问题1&#xff1a;数值超过4096三、问题1的排错过程四、问题2&#xff1a;右对齐模式设置失败五、问题2的解决方法5.1 将ADC_ExternalTrigConv设置为05.2 使用ADC_StructInit()函数 一、前言 最近在学习STM32的ADC功能&#xff0c;遇到了一个奇怪的问题。…

C#PDF转Excel

組件 Spire.Pdf.dll, v7.8.9.0 【注意&#xff1a;版本太低的没有此功能】 在Visual Studio中找到参考&#xff0c;鼠标右键点击“引用”&#xff0c;“添加引用”&#xff0c;将本地路径debug文件夹下的dll文件添加引用至程序。 界面图&#xff1a; 1个label&#xff0c;1…