Quartz.net:FireAtTime 似乎没有按预期工作
我正在尝试在我的一个项目中实现 Quartz.net。
我正在使用 NthIncludedDayTrigger
因为我希望触发器每 5 个月在某个时间触发一次。代码如下:
NthIncludedDayTrigger trigger = new NthIncludedDayTrigger(triggerName, groupName);
trigger.Description = "My trigger";
trigger.StartTimeUtc = startDate;
trigger.EndTimeUtc = endDate;
trigger.IntervalType = NthIncludedDayTrigger.IntervalTypeMonthly;
trigger.N = 5;
trigger.FireAtTime = "09:00";
DateTime? Check = DateTime.Now;
DateTime? When = trigger.GetFireTimeAfter(Check.Value);
如您所见,我希望触发器在上午 9 点运行(我的时区是 GMT => 格林威治)。
当我检查 (GetFireTimeAfter
) 下一次点火时间时,我可以看到它是在上午 8 点。
我检查了时区 trigger.TimeZone
,它绝对没问题。
这里有人可以帮忙吗?谢谢。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
可以肯定的是,您应该使用
DateTime.UtcNow
而不是DateTime.Now
来获取具有其KindDateTime
code> 设置为UTC
。Just to be sure, you should use
DateTime.UtcNow
instead ofDateTime.Now
to get aDateTime
that has itsKind
set toUTC
.