CronExpressions - 在那里生成它们/将它们转换成人类可读形式的任何图书馆?

Chr*_*ris 22 c# crontab quartz.net cronexpression

我正在使用Quartz.NET,而我的调度程序在很大程度上依赖于使用cron表达式 - 例如此链接中详述的那些:

http://quartznet.sourceforge.net/tutorial/lesson_6.html

理想情况下,我希望这两个场景成为可能(第一个可能很难,并且不太可能成为它的任何东西)

1:用户在ASP.NET表单上构造cron表达式的能力,它们选择哪些分钟,小时,天等

2:将cron表达式转换为短字符串的能力,例如"每个星期五{x}分钟"或"每个月最后一天的{x}时钟"

我已经开始编写我自己的这些版本了,但这是一项非常繁重的任务,我很想知道那里有一个图书馆,甚至还有关于你们的任何提示和技巧.

注意:如果没有任何内容,我(相对)成功创建代码,我很乐意分享源代码,如果有人想要的话.

Bra*_*olt 32

我写了一个C#库就是这样做的.它被称为cron-expression-descriptor. https://github.com/bradyholt/cron-expression-descriptor.

  • 你知道是否有相反的工具吗?输入*"周一至周五上午11:30"*并返回:**"30 11**1-5"** (3认同)

Jon*_*ski 12

使用最新的Quartz.NET(撰写本文时为2.1),您可以使用CronScheduleBuilder获取Cron表达式.

获得日常工作的表达:

var t = CronScheduleBuilder.DailyAtHourAndMinute(10, 0).Build() as CronTriggerImpl;
Console.WriteLine(t.CronExpressionString);// This is the actual Cron
Console.WriteLine(t.GetExpressionSummary()); // This is the description of that Cron
Run Code Online (Sandbox Code Playgroud)