2011-03-15 69 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