Quartz.NET開源作業排程框架:CronTrigger
阿新 • • 發佈:2019-01-07
1 //排除的日期
2 HolidayCalendar cal = new HolidayCalendar();
3 DateTime dt排除 = new DateTime(2015, 12, 1);
4 cal.AddExcludedDate(dt排除);
5
6 sched.AddCalendar("myHolidayCalendar", cal, false, true);
7 //定義job
8 IJobDetail job3 = JobBuilder.Create<ColorJob>()
9 .WithIdentity("job3", "group1")
10 .Build();
11 //定義cronTrigger
12 ICronTrigger cronTrigger = (ICronTrigger)TriggerBuilder.Create()
13 .WithIdentity("cronTrigger", "group1")
14 .WithCronSchedule(" 0/20 * * * * ?", x => x
15 .InTimeZone(TimeZoneInfo.FindSystemTimeZoneById("China Standard Time")))//無效 ?
16 .ModifiedByCalendar("myHolidayCalendar")
17 .Build();
18 // 預設開始時間
19 DateTimeOffset scheduleTime3 = sched.ScheduleJob(job3, cronTrigger);
20 //轉換到本地時間(北京時間)
21 // 2015-12-02 00:00:00 +08:00 不包含 2015-12-01
22 DateTimeOffset dt = scheduleTime3.ToLocalTime();
23 //北京時間為預設時間+8小時
24 DateTimeOffset scheduleTimeChina = scheduleTime3.AddHours(8);
25 //返回Cron Expression
26 string cronExpression = cronTrigger.CronExpressionString;