.NET 全能 Cron 表达式解析库(支持 Cron 所有特性)

前言

今天大姚给大家分享一个.NET 全能 Cron 表达式解析类库,支持 Cron 所有特性:TimeCrontab。

Cron表达式介绍

Cron表达式是一种用于配置定时任务的时间表达式。它由一系列字段组成,每个字段代表任务在不同时间维度的调度规则。Cron 表达式常用于各种系统中,如操作系统的定时任务、应用程序的定时调度、数据备份等。

项目特点

  • 支持 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

DotNetGuide技术社区交流群

  • DotNetGuide技术社区是一个面向.NET开发者的开源技术社区,旨在为开发者们提供全面的C#/.NET/.NET Core相关学习资料、技术分享和咨询、项目推荐、招聘资讯和解决问题的平台。
  • 在这个社区中,开发者们可以分享自己的技术文章、项目经验、遇到的疑难技术问题以及解决方案,并且还有机会结识志同道合的开发者。
  • 我们致力于构建一个积极向上、和谐友善的.NET技术交流平台,为广大.NET开发者带来更多的价值和成长机会。

欢迎加入DotNetGuide技术社区微信交流群👪

相关推荐
追逐时光者1 天前
推荐几款开源且免费的 .NET MAUI 组件库
【.net】·【c#】·【开源项目】·【.net core】·【maui】
追逐时光者4 天前
精选4款基于.NET开源、功能强大的通讯调试工具
【.net】·【c#】·【开源项目】·【.net core】
追逐时光者6 天前
C#/.NET/.NET Core技术前沿周刊 | 第 26 期(2025年2.10-2.16)
【.net】·【c#】·【开源项目】·【.net core】·【技术前沿周刊】
追逐时光者8 天前
V-Control:一个基于 .NET MAUI 的开箱即用的UI组件库
【.net】·【c#】·【开源项目】·【maui】
追逐时光者9 天前
腾讯元宝接入 DeepSeek R1 模型,支持深度思考 + 联网搜索,好用不卡机!
【实用工具】·【deepseek】·【aigc&ai赋能】
追逐时光者9 天前
8款支持 C# 语言的 AI 辅助编程神器,高效编程利器!
【.net】·【c#】·【ai编程】·【aigc&ai赋能】
追逐时光者10 天前
C#字符串拼接的6种方式及其性能分析对比
【.net】·【c#】·【.net core】·【面试指南】·【拾遗补漏】
追逐时光者11 天前
C#/.NET/.NET Core技术前沿周刊 | 第 24 期(2025年1.27-1.31)
【.net】·【c#】·【开源项目】·【.net core】·【技术前沿周刊】
追逐时光者11 天前
C#/.NET/.NET Core技术前沿周刊 | 第 25 期(2025年2.1-2.9)
【.net】·【c#】·【.net core】·【技术前沿周刊】
追逐时光者12 天前
C#/.NET/.NET Core优秀项目和框架2025年1月简报
【.net】·【c#】·【开源项目】·【.net core】·【每月简报】