C# Quartz.Net CronTime issatifiedby()永远不会返回true?
我试图用Quartz.Net的C# Quartz.Net CronTime issatifiedby()永远不会返回true?,c#,cron,quartz.net,C#,Cron,Quartz.net,我试图用Quartz.Net的CronExpression.issatifiedby()函数使事情变得简单。但此函数始终返回false。甚至当我使用每秒一次的表达式时,“****?”。示例代码如下: //every second cron expression var cron = new Quartz.CronExpression("* * * * * ?"); // all the results are always false var result1 = cron.IsSatisfie
CronExpression.issatifiedby()函数使事情变得简单。但此函数始终返回false
。甚至当我使用每秒一次的表达式时,
“****?”。示例代码如下:
//every second cron expression
var cron = new Quartz.CronExpression("* * * * * ?");
// all the results are always false
var result1 = cron.IsSatisfiedBy(DateTimeOffset.Now);
var result2 = cron.IsSatisfiedBy(DateTimeOffset.UtcNow);
var result3 = cron.IsSatisfiedBy(DateTime.Now);
var result4 = cron.IsSatisfiedBy(DateTime.UtcNow);
怎么了?这是一个大约毫秒的Quartz.NET。
要解决此问题,您可以使用issatifiedby
方法,时间不超过毫秒。就像这样:
var now = DateTimeOffset.UtcNow;
//no milliseconds time
var test = new DateTimeOffset(now.Year, now.Month, now.Day, now.Hour,
now.Minute, now.Second, now.Offset);
//every second cron expression
var cron = new Quartz.CronExpression("* * * * * ?");
//hey, that's true!
var result = cron.IsSatisfiedBy(test);