爲了方便查找,所以,寫一個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();
}
執行後的結果如下:
已經驗證完畢