Quartz.NET - Shouldn't this unit test pass?

后端 未结 1 1677
执念已碎
执念已碎 2021-01-03 01:54

This question is related to this one, but is kept more general and can be treated independently.

EDIT: Quartz version is v2.0.1

From my understanding, the fo

1条回答
  •  不知归路
    2021-01-03 02:43

    I figured out that this actually is a bug in Quartz.NET 2.0.1, but it has already been fixed in 2.1.0.

    I checked the change-log on the site, which does not mention a related fix. The comment from Peter Ritchie encouraged me to take another look at the newer Quartz versions. When i looked through the commits in the repository i noticed there actually was a fix for this.

    It has been fixed in revision 665:

    Merge pull request #72 from amazing-andrew/master
    Time zone issues with CronExpression, calendars, CalendarIntervalTriggerImpl

    The first official release that contains this fix is v2.1.0, which was tagged at revision 685.

    The bug was located in CronExpression.GetTimeAfter() (which is called by CronExpression.GetNextValidTimeAfter()):

    ...
    d = new DateTimeOffset(year, d.Month, d.Day, d.Hour, d.Minute, d.Second, d.Offset);
    
    // apply the proper offset for this date (this wasn't there)
    d = new DateTimeOffset(d.Year, d.Month, d.Day, d.Hour, d.Minute, d.Second, this.TimeZone.GetUtcOffset(d.DateTime));
    ...
    

    0 讨论(0)
提交回复
热议问题