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 に答える