InfyCalculator
📅

Shift Rotation Schedule Calculator

Work an X-on / Y-off rotation? See whether a given date is a work day or a day off, where it falls in the cycle and the next changeover.

Days on
Days off
A known first work day
Date to check
Loading calculator…

How it works

cycle length = days on + days off · position = (check date − anchor date) mod cycle · working when position < days on · next change = check date + days left in the current phase

A fixed rotation repeats every (on + off) days, so any date maps to a position in that cycle by counting days from a date you know was the first day on and taking the remainder. If that position is below the number of on-days you are working; otherwise you are off. Because the arithmetic is modular it works for dates in the past and the future, and it correctly handles anchors before or after the date you are checking.

Worked example

On a 4-on / 3-off cycle (7 days) with a known first work day, a date 10 days later sits at position 10 mod 7 = 3 — the fourth day, still within the four on-days, so it is a work day with the first day off arriving the next day.

Frequently asked questions

What is the “known first work day”?

Any date you are certain was day 1 of an on-stretch. The calculator counts cycles forward or backward from it, so a single reliable anchor pins the whole schedule.

Does this handle 12-hour or day/night rotations?

It tracks on-days versus off-days, which covers patterns like 4-on/4-off or 2-2-3. It does not distinguish day shifts from night shifts within an on-stretch — model those as separate lookups if needed.

Can I check a date in the past?

Yes. The modular math is symmetric, so a date before your anchor returns the correct on/off status just as a future date does.

Related calculators

This calculator is for educational purposes. Double-check important results before acting on them.