我几点在Quartz.net上处理什么?

时间:2011-09-20 20:29:26

标签: quartz.net

我想知道我什么时候设置这样的东西

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

我将它设置为凌晨5点。这是服务器上午5点或UTC时间吗?

3 个答案:

答案 0 :(得分:4)

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

编辑:实际上看起来它已经同时使用了两者! 0.9之前的版本使用本地时间,使用UTC后的版本(source),因此只要您使用的是最新版本,它就应该是UTC。

答案 1 :(得分:4)

UTC时间凌晨5:00。公共Quartz.NET API始终以UTC格式expects次。仅供参考,MakeDailyTrigger只是CronTrigger的快捷方式,格式如下:

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

答案 2 :(得分:1)

我相信当您在MakeDailyTrigger方法中输入小时参数时,Quartz.Net期望本地时间......内部Quartz.net将此时间转换为UTC,但如果您在小时参数中输入5触发器将在当地时间凌晨5点开火。

试试这个

        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
        }