Transparent methodology

How DueRule calculates business days

The website and iOS app use independent engines accepted against the same golden fixtures and visible rules.

Reviewed August 20, 2026Visible sourcesNo account

Civil dates, not elapsed hours

DueRule represents a date as a validated Gregorian year, month, and day. Arithmetic advances by civil dates in UTC-safe form, avoiding daylight-saving changes that can distort elapsed-hour calculations.

Add and Subtract

  • Magnitude must be a whole number from 0 through 10,000.
  • Zero returns the starting date unchanged.
  • The start is excluded by default and counts only when inclusion is selected and no exclusion applies.

Between

  • The range is forward-only.
  • The default excludes the start and includes the end.
  • At most 20,000 civil days may be traversed.

Exclusions and overlaps

A date is excluded once when any reason applies. The trace still preserves every reason, including a closure that overlaps a non-working weekday or another closure.

Fixture parity

The web engine is implemented independently in TypeScript. It must pass the same versioned JSON cases as the Foundation-only iOS engine. A rules change begins with fixture changes and is never promoted silently.

Corrections

Report a suspected calendar or explanation error through Support. Include the public profile, dates, result, and source concern—never confidential matter details.