Month and year intervals
Recurring tasks can have a scheduling rule with repeat intervals of months or years.
Maintenix calculates the deadline for the next occurrence of a task with repeat interval of months (CMON) as follows:
- If the previous task is completed on the last day of a month, the next due date is the specified interval of months later, on last day of the month. Given the uneven number of days in calendar months, the number of days that pass in the interval of months before the next task is due, varies.
- If the previous task is completed on any other day of the month (except January 29 and 30), the next due date is the specified interval of months later, on the same day of the month.
- If the previous task is completed on January 29 or on January 30 and the interval is one month, the next due date is February 28, or February 29 if it's a leap year. However, if the interval is more than one month, then the next occurrence is the specified interval of months later, on the same day of the month.
The following examples show previous task completion dates, monthly repeat intervals, and the resulting next due date for tasks.
Completion date of the previous task | Repeat interval | Next due date |
---|---|---|
September 30 | 6 months | March 31 |
March 31 | 6 months | Sept 30 |
November 30 | 3 months | February 28 |
July 15 | 4 months | November 15 |
January 29 | 1 month | February 28 |
January 29 | 2 months | March 29 |
January 30 | 1 month | February 28 |
January 31 | 1 month | February 29 (leap year) |
For tasks that have a deadline repeat interval specified in calendar years (CYR), Maintenix considers the months with different number of days, and the leap years. The following table provides examples of how Maintenix schedules such tasks.
Completion date of the previous task | Repeat interval | Next due date |
---|---|---|
February 28, 2015 | 1 year | February 29, 2016 (leap year) |
February 29, 2016 | 1 year | February 28, 2017 |
March 15, 2015 | 1 year | March 15, 2016 |
January 1, 2016 | 10 years | January 1, 2026 |