2016-11-18 4 views
0

私はQuartz.NetのCronExpression.IsSatisfiedBy()機能で簡単なことをしようとしています。しかし、この関数は常にfalseを返します。私が毎秒の式"* * * * * ?"を使用したとしても。サンプルコードは次のとおりです:Quartz.Net CronTime IsSatisfiedBy()はtrueを返しませんか?

//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); 

何が間違っていますか?

答えて

0

これは、約ミリ秒のQuartz.NET issueです。 この問題を回避するには、IsSatisfiedByメソッドを時間をミリ秒単位で使用することができます。そのように:

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); 
関連する問題