Scheduling 如何在Quartz.net中获取下一个计划触发触发时间
这是我的第一个Quartz.net项目。我已经完成了基本的家庭作业,我所有的cron都能正确触发火焰,生活也很美好。但是,我很难在api文档中找到属性。我知道它就在那里,就是找不到。如何获取触发器计划触发的确切时间?如果我有一个触发器,比如说每天早上8:00,这个8:00存储在触发器类中的什么位置Scheduling 如何在Quartz.net中获取下一个计划触发触发时间,scheduling,quartz.net,crontrigger,Scheduling,Quartz.net,Crontrigger,这是我的第一个Quartz.net项目。我已经完成了基本的家庭作业,我所有的cron都能正确触发火焰,生活也很美好。但是,我很难在api文档中找到属性。我知道它就在那里,就是找不到。如何获取触发器计划触发的确切时间?如果我有一个触发器,比如说每天早上8:00,这个8:00存储在触发器类中的什么位置 _quartzScheduler.ScheduleJob(job, trigger); Program.Log.InfoFormat ("Job {0} will trigger next time
_quartzScheduler.ScheduleJob(job, trigger);
Program.Log.InfoFormat
("Job {0} will trigger next time at: {1}", job.FullName, trigger.WhatShouldIPutHere?);
到目前为止我已经试过了
GetNextFireTimeUtc()、StartTimeUTC和上面显示的_quartzScheduler.ScheduleJob()的返回值。没有别的了
触发器在预定的时间正确触发。只是化妆品。谢谢您应该从getNextFireTime获得所需信息(调用ScheduleJob()后,该方法的值应该是准确的)。ScheduleJob()方法还应返回第一次启动时间的日期。正如jhouse所说的ScheduleJob返回下一个计划。 我使用的是Quartz.net 1.0.3。一切正常 请记住,Quartz.net使用UTC日期/时间格式 我使用了这个cron表达式:
“0 0 8 1/1*?*”
如果我打印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
可能是quartz 1.0.3中的一个bug。他们都打印了5个小时加上我预定的触发时间。如果我的扳机设定在8:00开火,他们都打印13:00。我的扳机在8点正确地触发。谢谢您的时区是否恰好是gmt-5?如果您的作业需要多个触发器,则必须使用无效计划作业(映射触发器和作业,布尔替换)
-这不会返回第一次触发时间。是。ToLocalTime()成功了。忘记UTC的事了。干杯如果它对你有帮助,为什么post会减少?
DateTime ft = sched.ScheduleJob(job, trigger);