2011-09-20 69 views

回答

4

它使用UTC时间,但这是不正确的documented

编辑:实际上它看起来像它已经使用两个! 0.9之前的版本使用本地时间,那些在使用UTC(source)之后,所以它应该是UTC,只要您使用的是最新版本即可。

+0

找不到UTC或迁移指南在当地时间任何提及上述...也许Quartz.Net移动的文档? – w4ik

+0

@ w4ik是的,他们似乎已经移动了他们的文档,将看我是否能找到另一个副本 –

4

UTC时间上午5:00。公用Quartz.NET API始终为UTC格式的expects次。仅供参考,MakeDailyTrigger只是一个快捷方式到CronTrigger具有以下格式:

string.Format("0 {0} {1} ? * *", minute, hour) 
+0

有趣的是,我不知道有关MakeDailyTrigger,所以我最终与string.format代码完全如上。我希望Quartz有更好的文档。 – nocarrier

1

我相信,当你在MakeDailyTrigger方法Quartz.Net期待本地时间......在内部石英小时参数输入一个小时.net将此时间转换为UTC,但如果在小时参数中输入5,则触发器将在当地时间5AM时触发。

试试这个

 Trigger trigger = 
      TriggerUtils.MakeDailyTrigger("trigger",5,0);    

     var ttimes = TriggerUtils.ComputeFireTimes(trigger, null, 1); 
     foreach (DateTime ttime in ttimes) 
     { 
      Console.WriteLine(ttime); 
      'ttime is in UTC - so for EST, ttime.Hour would be 10AM 
      'however ttime.ToLocalTime().Hour would be 5AM 
     } 
+0

仅供参考,Quartz.net 2.0.1不支持UTC时间,但在2.1.0中固定。我经过惨痛的教训才学到这个。 – nocarrier

相关问题