--- epic: 4 story: 4.2 title: "Time Math" status: draft --- ## Epic 4 — Date, Time & Time Zones **Goal:** Full date/time math, business day calculations, and timezone awareness. ### Story 4.2: Time Math As a CalcPad user, I want to add and subtract durations from times and calculate durations between times, So that I can compute meeting end times, elapsed time, and scheduling math. **Acceptance Criteria:** **Given** the expression `3:35 am + 9 hours 20 minutes` **When** the engine evaluates it **Then** the result is `12:55 pm` **Given** the expression `3:35 PM + 9 hours 20 minutes` **When** the engine evaluates it **Then** the result is `12:55 AM` (next day) **And** the result indicates the day rollover if applicable **Given** the expression `14:30 - 2 hours 45 minutes` **When** the engine evaluates it in 24-hour mode **Then** the result is `11:45` **Given** the user's time format preference is 12-hour **When** time results are displayed **Then** they use AM/PM notation **Given** the user's time format preference is 24-hour **When** time results are displayed **Then** they use 24-hour notation (e.g., `14:30` instead of `2:30 PM`) **Given** the expression `9:00 AM to 5:30 PM` **When** the engine evaluates it **Then** the result is `8 hours 30 minutes` **Given** the expression `11:00 PM to 2:00 AM` **When** the engine evaluates it **Then** it assumes the time crosses midnight **And** the result is `3 hours`