我正试图找到一种如何从CRON表达式中获取特定值的方法。
E.g。我有这个CRON表达式"*/5 * * * *"
,我需要得到分钟。结果必须是5.我发现它是使用NCrontab库的例子。它显示了如何获得时间表:
var schedule = CrontabSchedule.Parse("*/5 * * * *");
有什么方法可以解决这个问题吗?
答案 0 :(得分:2)
如果您只需要会议记录,则不应该使用NCrontab库。你可以自己解析这个简单的。
var expression = "*/5 * * * *";
var split = expression.Split(" ".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
if (split.Length < 5)
throw new Exception("Invalid CRON expression");
var onlyDigits = "0123456789";
// strip non numeric chars
var minutes = new string(split[0].Where(c => onlyDigits.Contains(c)).ToArray());