这是我的第一个Quartz.net项目。我完成了我的基本功课,所有我的cron触发器正确启动,生活也很好。但是我很难在api doc中找到一个属性。我知道它在那里,只是找不到它。如何获得触发计划发射的确切时间?如果我在每天早上8点有一个触发器,那么在触发器类中这个上午8点存储在?
中_quartzScheduler.ScheduleJob(job, trigger);
Program.Log.InfoFormat
("Job {0} will trigger next time at: {1}", job.FullName, trigger.WhatShouldIPutHere?);
到目前为止,我已经尝试了
GetNextFireTimeUtc(),StartTimeUTC以及上面显示的_quartzScheduler.ScheduleJob()的返回值。 http://quartznet.sourceforge.net/apidoc/topic645.html
上没有其他内容触发器在其预定时间正确触发。只是化妆品。谢谢
答案 0 :(得分:0)
你应该从getNextFireTime获得你所追求的东西(在调用ScheduleJob()之后该方法的值应该是准确的)。 ScheduleJob()方法也应该返回第一个开火时间的日期。
答案 1 :(得分:0)
正如jhouse所说,ScheduleJob会返回下一个时间表。 我正在使用Quartz.net 1.0.3。一切正常。
请记住,Quartz.net使用UTC日期/时间格式。
我使用过这个cron表达式:"0 0 8 1/1 * ? *"
。
DateTime ft = sched.ScheduleJob(job, trigger);
如果我打印ft.ToString("dd/MM/yyyy HH:mm")
,我会得到09/07/2011 07.00
这是不对的,因为我已安排我的触发器每天早上8点开火(我在伦敦)。
如果我打印ft.ToLocalTime().ToString("dd/MM/yyyy HH:mm")
,我会得到我期望的09/07/2011 08.00