Files
calctext/_bmad-output/implementation-artifacts/4-3-time-zone-conversions.md
2026-03-16 19:54:53 -04:00

2.0 KiB

epic, story, title, status
epic story title status
4 4.3 Time Zone Conversions draft

Epic 4 — Date, Time & Time Zones

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

Story 4.3: Time Zone Conversions

As a CalcPad user, I want to convert times between time zones using city names and IANA timezone identifiers, So that I can coordinate across geographies without looking up UTC offsets.

Acceptance Criteria:

Given the expression 3pm Tokyo in London When the engine evaluates it Then it converts 3:00 PM JST (Asia/Tokyo) to the equivalent time in GMT/BST (Europe/London) And the result accounts for the current DST status of both zones

Given the expression New York time When the engine evaluates it Then it returns the current time in the America/New_York timezone

Given the expression now in PST When the engine evaluates it Then it returns the current time converted to Pacific Standard Time (America/Los_Angeles)

Given the engine's timezone database When queried for supported zones Then it supports all IANA timezones via the chrono-tz crate And at least 500 city name aliases map to their corresponding IANA zones

Given the expression 3pm EST in CET When the engine evaluates it Then it converts from Eastern Standard Time to Central European Time And DST transitions are handled correctly (e.g., EST vs EDT, CET vs CEST)

Given an ambiguous city name (e.g., Portland which exists in Oregon and Maine) When the engine encounters it Then it uses the most commonly referenced city by default (Portland, Oregon = America/Los_Angeles) And the user can disambiguate with state/country (e.g., Portland, ME)

Given the expression 9am Monday New York in Tokyo When the engine evaluates it Then it converts 9:00 AM on the next Monday in New York to the equivalent time in Tokyo And if the conversion crosses a date boundary, the result shows the correct date and time