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