Accurate Date Duration Calculator with Leap Year Support
What it does
- Calculates the exact time between two dates in days, weeks, months, years, and business days.
- Correctly accounts for leap years (including Feb 29), varying month lengths, and time zones when times are included.
- Optionally includes/excludes start and end dates per user preference.
Key features
- Leap-year-aware: treats Feb 29 correctly when spanning leap years.
- Multiple output units: total days, weeks + days, months + days, years + months + days.
- Business days: excludes weekends and customizable holidays.
- Time component support: handles date-times with time zones and daylight saving shifts.
- Custom rules: choose whether to count the start/end date, specify working days, or use ⁄360 conventions for financial calculations.
- Error handling: validates input formats and returns clear messages for invalid dates.
Example outputs
- Between 2020-02-27 and 2020-03-01 → 3 days (includes Feb 29).
- Between 2019-03-01 and 2020-03-01 → 1 year.
- Between 2024-02-28 and 2024-03-01 with start included → 3 days (2024 is leap year).
Implementation notes (brief)
- Use ISO 8601 for input.
- For days: compute absolute difference in days using proper calendar arithmetic.
- For years/months/days: subtract components with borrow logic, accounting for month lengths and leap-day presence.
- For business days: iterate or use formula excluding weekends and subtract holiday set.
Leave a Reply