0

我在 C# Web 应用程序中使用 Ncrontab。目前,我有一个包含一系列文本框、复选框和下拉菜单的视图来创建 crontab 计划。但是,为了允许用户编辑他们的日程安排,我需要做的是获取一个 crontab 字符串并适当地填写视图。

以这个字符串为例:

0 */4 * * *

我需要能够将其分解,从下拉列表中选择“每小时”,然后在文本框中填写“4”(每“x”小时发生一次)。换句话说,我需要能够做与cronmaker做的相反的事情。

我一直在搜索 Google 等,并且看到了一些对 Quartz.NET 的引用,但我不确定它是否具有我需要的功能。有什么建议么?

编辑:我想我在问是否有更有效的方法来做到这一点,而无需一堆条件和字符串比较。有没有我应该知道的库,或者我应该卷起袖子开始解析?

4

2 回答 2

4

从未使用过它,但CronExpressionDescriptor似乎是您正在寻找的东西,请单击此处查看现场演示

GitHub 上的 CronExpressionDescriptor

NuGet 上的 CronExpressionDescriptor

于 2013-06-14T21:12:16.307 回答
0

......可能对某人有所帮助的一点补充:

我突然想到,在 Azure 中使用的ncrontab格式中,有几秒钟的额外位置!

{second} {minute} {hour} {day} {month} {day-of-week}

https://docs.microsoft.com/en-us/azure/azure-functions/functions-bindings-timer?tabs=csharp#ncrontab-expressions

对比

# ┌───────────── minute (0 - 59)
# │ ┌───────────── hour (0 - 23)
# │ │ ┌───────────── day of the month (1 - 31)
# │ │ │ ┌───────────── month (1 - 12)
# │ │ │ │ ┌───────────── day of the week (0 - 6) (Sunday to Saturday;
# │ │ │ │ │                                   7 is also Sunday on some systems)
# │ │ │ │ │
# │ │ │ │ │
# * * * * * <command to execute>

https://en.wikipedia.org/wiki/Cron

于 2021-12-12T10:28:54.570 回答