Files
calctext/_bmad-output/implementation-artifacts/4-1-date-math.md
2026-03-16 19:54:53 -04:00

1.8 KiB

epic, story, title, status
epic story title status
4 4.1 Date Math draft

Epic 4 — Date, Time & Time Zones

Goal: Full date/time math, business day calculations, and timezone awareness.

Story 4.1: Date Math

As a CalcPad user, I want to perform arithmetic on dates including addition, subtraction, and duration between dates, So that I can quickly compute deadlines, durations, and future/past dates.

Acceptance Criteria:

Given the expression today + 3 weeks 2 days When the engine evaluates it Then it returns a DateTime result representing the date 23 days from the current date And the result is formatted in the user's preferred date format

Given the expression March 12 to July 30 When the engine evaluates it Then it returns a TimeDelta representing the duration between the two dates And the result shows days (and optionally months/weeks) e.g., "140 days" or "4 months 18 days"

Given the expression days until Christmas When the engine evaluates it on a date before December 25 of the current year Then it returns the number of days until December 25 of the current year

Given the expression days until Christmas When the engine evaluates it on December 26 or later Then it returns the number of days until December 25 of the next year

Given the expression January 15, 2025 - 30 days When the engine evaluates it Then the result is December 16, 2024

Given the expression today - March 1 When the engine evaluates it Then it returns the number of days between March 1 of the current year and today

Given a date expression with an ambiguous format such as 3/4/2025 When the engine evaluates it Then it uses the user's configured date format preference (US: month/day, EU: day/month) And the default is US format (MM/DD/YYYY) unless configured otherwise