3

这是我的第一个 Quartz.net 项目。我已经完成了我的基本功课,我所有的 cron 触发器都正确触发,生活很好。但是,我很难在 api 文档中找到属性。我知道它在那里,只是找不到它。如何获得触发器计划触发的确切时间?如果我在每天上午 8:00 有一个触发器,那么这个上午 8:00 存储在触发器类的哪个位置?

_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上没有其他内容

触发器在其预定时间正确触发。只是化妆品。谢谢你

4

2 回答 2

0

你应该从 getNextFireTime 得到你想要的(在调用 ScheduleJob() 之后,该方法的值应该是准确的)。此外,ScheduleJob() 方法应该返回第一次触发时间的日期。

于 2011-07-08T15:02:56.943 回答
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

于 2011-07-08T17:32:11.517 回答