C# Quartz.NET中Cron表達式的驗證

爲了方便查找,所以,寫一個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();
        }

執行後的結果如下:

 

已經驗證完畢

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章