ITrigger cronTrigger = TriggerBuilder.Create()
.WithIdentity("trigger1", "group1")
.WithCronSchedule(0 0/1 * 1/1 * ? *)
.Build();
該代碼設置時間在我希望它運行一個小時之前,所以不是在1:40運行,而是在12:40運行。我可以設置Itrigger的時區在英國工作嗎?Quartz.net設置ITrigger的時區?
ITrigger cronTrigger = TriggerBuilder.Create()
.WithIdentity("trigger1", "group1")
.WithCronSchedule(0 0/1 * 1/1 * ? *)
.Build();
該代碼設置時間在我希望它運行一個小時之前,所以不是在1:40運行,而是在12:40運行。我可以設置Itrigger的時區在英國工作嗎?Quartz.net設置ITrigger的時區?
創建觸發器時應該有TimeZone選項。這樣的事情:
.inTimeZone(TimeZone.CurrentTimeZone);
以上將採取服務器的當前時區。如果不是英國的服務器,這應該可以工作。
TimeZoneInfo.FindSystemTimeZoneById("GMT Standard Time");
這裏是鏈接: http://quartz-scheduler.org/documentation/quartz-2.x/tutorials/tutorial-lesson-06
ITrigger trigger = TriggerBuilder.Create()
.WithIdentity("trigger3", "group1")
.WithCronSchedule(
"Your CRON Expression comes here",
x => x.InTimeZone(TimeZoneInfo.FindSystemTimeZoneById("Your Time Zone Id comes here"))
)
.ForJob("GUID/any unique combination ID comes here ")
.Build()
也許有一點清潔劑:
ITrigger trigger = TriggerBuilder.Create()
.StartNow()
.WithCronSchedule("0 27 15 ? * MON-FRI *", x => x.InTimeZone(TimeZoneInfo.Utc))
.Build();