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();