微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

CronExpressions-是否有任何库可以生成它们/将其转换为人类可读的形式?

如何解决CronExpressions-是否有任何库可以生成它们/将其转换为人类可读的形式?

| 我正在使用Quartz.NET,而我的调度程序在很大程度上依赖于cron表达式的使用-例如此链接上详细介绍的内容: http://quartznet.sourceforge.net/tutorial/lesson_6.html 理想情况下,我希望使这两种情况成为可能(第一种可能很困难,并且不太可能有任何其他选择) 1:用户在ASP.NET表单上构造cron表达式的能力,他们可以在其中选择分钟,小时,天等 2:可以将cron表达式转换为短字符串,例如\'星期五的{x}分钟\'或\'x每月的最后一天的{x}点\' 我已经开始编写自己的版本,但这是一项非常艰巨的任务,我很想在那儿找到一个图书馆,或者甚至对你们有任何提示和技巧。 注意:如果没有可用的方法,并且我(相对)成功创建了代码,那么如果有人愿意,我将很乐意共享源代码。     

解决方法

        我写了一个C#库来做到这一点。它称为cron-expression-descriptor。 https://github.com/bradymholt/cron-expression-descriptor。     ,        使用最新的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
    ,        我最终使用了这个jQuery插件,该插件提供了一个不错的界面,然后使用一个隐藏字段将其保存到.net / c#中的数据库中。 http://shawnchin.github.com/jquery-cron/ 对我来说效果很好。您可能需要检查是否将字符串开头的秒数设置为\“ 0 \”,尽管如果使用的是quartz.net,就像我以前那样,因为此插件不支持秒数。     ,        我前一阵子用过NCrontab http://www.raboof.com/Projects/NCrontab/ 但似乎并没有将其翻译为人类可读...     ,        几个月前有人问过同样的问题。 我从来没有找到类似的东西。 我最终做了自己的“配置器”,但是我的要求很简单。     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。