为了方便查找,所以,写一个demo。
/// <summary>
/// 表达式验证
/// </summary>
/// <param name="args"></param>
static void Main(string[] args)
{
string[] weekStr = "星期日,星期一,星期二,星期三,星期四,星期五,星期六".Split(',');
string cronStr = "*/5 * * * * ?";
int TopNums = 10;
bool IsTrue = CronExpression.IsValidExpression(cronStr);
Console.WriteLine("表达式是否拼写正确:" + IsTrue);
//获取符合表达式的 触发记录表
if (IsTrue)
{
CronTriggerImpl cron = new CronTriggerImpl("testName", "testGroup", cronStr);
ICalendar calendar = new BaseCalendar(TimeZoneInfo.Local);
var list = TriggerUtils.ComputeFireTimes(cron, calendar, TopNums);
if (list != null)
{
Console.WriteLine($"展示前{TopNums}条:");
foreach (var item in list)
{
Console.WriteLine(weekStr[(int)item.LocalDateTime.DayOfWeek] + " " + item.LocalDateTime.ToString());
}
Console.WriteLine();
}
}
Console.WriteLine("表达式解析完毕!");
Console.ReadLine();
}
执行后的结果如下:
已经验证完毕