开源.NET 全能 Cron 表达式解析库(支持 Cron 所有特性)
前言
今天大姚给大家分享一个.NET 全能 Cron 表达式解析类库,支持 Cron 所有特性:TimeCrontab。
Cron表达式介绍
Cron表达式是一种用于配置定时任务的时间表达式。它由一系列字段组成,每个字段代表任务在不同时间维度的调度规则。Cron 表达式常用于各种系统中,如操作系统的定时任务、应用程序的定时调度、数据备份等。
- Cron在线表达式生成器:https://cron.ciding.cc/
项目特点
- 支持 Cron 所有特性
- 超高性能
- 易拓展
- 很小,仅 4KB
- 无第三方依赖
- 开源、跨平台
- 高质量代码和良好单元测试
- 支持.NET Framework 3.5+及后续版本
项目源代码
项目安装
创建一个名为TimeCrontabExercise
的.NET 8 控制台应用。
搜索:TimeCrontab
NuGet包安装。
快速入门
using TimeCrontab;
namespace TimeCrontabExercise
{
internal class Program
{
static void Main(string[] args)
{
//常规格式:分 时 天 月 周
var crontab = Crontab.Parse("* * * * *");
var nextOccurrence = crontab.GetNextOccurrence(DateTime.Now);
//支持年份:分 时 天 月 周 年
var crontab1 = Crontab.Parse("* * * * * *", CronStringFormat.WithYears);
var nextOccurrence1 = crontab1.GetNextOccurrence(DateTime.Now);
//支持秒数:秒 分 时 天 月 周
var crontab2 = Crontab.Parse("* * * * * *", CronStringFormat.WithSeconds);
var nextOccurrence2 = crontab2.GetNextOccurrence(DateTime.Now);
//支持秒和年:秒 分 时 天 月 周 年
var crontab3 = Crontab.Parse("* * * * * * *", CronStringFormat.WithSecondsAndYears);
var nextOccurrence3 = crontab3.GetNextOccurrence(DateTime.Now);
// Macro 字符串
var secondly = Crontab.Parse("@secondly"); //每秒 [* * * * * *]
var minutely = Crontab.Parse("@minutely"); //每分钟 [* * * * *]
var hourly = Crontab.Parse("@hourly"); //每小时 [0 * * * *]
var daily = Crontab.Parse("@daily"); //每天 00:00:00 [0 0 * * *]
var monthly = Crontab.Parse("@monthly"); //每月 1 号 00:00:00 [0 0 1 * *]
var weekly = Crontab.Parse("@weekly"); //每周日 00:00:00 [0 0 * * 0]
var yearly = Crontab.Parse("@yearly"); //每年 1 月 1 号 00:00:00 [0 0 1 1 *]
var workday = Crontab.Parse("@workday"); //每周一至周五 00:00:00 [0 0 * * 1-5]
}
}
}
项目源码地址
更多项目实用功能和特性欢迎前往项目开源地址查看👀,别忘了给项目一个Star支持💖。
https://gitee.com/dotnetchina/TimeCrontab
优秀项目和框架精选
该项目已收录到C#/.NET/.NET Core优秀项目和框架精选中,关注优秀项目和框架精选能让你及时了解C#、.NET和.NET Core领域的最新动态和最佳实践,提高开发工作效率和质量。坑已挖,欢迎大家踊跃提交PR推荐或自荐(让优秀的项目和框架不被埋没🤞
)。
https://github.com/YSGStudyHards/DotNetGuide/blob/main/docs/DotNet/DotNetProjectPicks.md
出处:https://mp.weixin.qq.com/s/sO_TdFNNsUUQKePoEliTAA
关注我】。(●'◡'●)
如果,您希望更容易地发现我的新博客,不妨点击一下绿色通道的【因为,我的写作热情也离不开您的肯定与支持,感谢您的阅读,我是【Jack_孟】!
本文来自博客园,作者:jack_Meng,转载请注明原文链接:https://www.cnblogs.com/mq0036/p/18070265
【免责声明】本文来自源于网络,如涉及版权或侵权问题,请及时联系我们,我们将第一时间删除或更改!