2011-03-15 120 views
4


我想在我的一个项目中实现Quartz.net。
我正在使用NthIncludedDayTrigger因为我希望我的触发器在特定时间每5个月触发一次。下面是代码:Quartz.net:FireAtTime似乎没有按预期工作

NthIncludedDayTrigger trigger = new NthIncludedDayTrigger(triggerName, groupName); 
trigger.Description = "My trigger"; 
trigger.StartTimeUtc = startDate; 
trigger.EndTimeUtc = endDate; 
trigger.IntervalType = NthIncludedDayTrigger.IntervalTypeMonthly; 
trigger.N = 5; 
trigger.FireAtTime = "09:00"; 

DateTime? Check = DateTime.Now; 
DateTime? When = trigger.GetFireTimeAfter(Check.Value); 

正如你可以看到我想我的触发器在上午9点运行(我的时区是GMT =>格林威治)。 当我检查(GetFireTimeAfter)下一次的火灾时间,我可以看到它是在上午8点。 我检查了时区trigger.TimeZone,它绝对没问题。 有人可以尝试帮忙吗?谢谢。

回答

4

只是可以肯定,你应该使用DateTime.UtcNow而不是DateTime.Now获得DateTime有其Kind设置为UTC