Timezone Tools
Three standard-library Python scripts (3.9+, zoneinfo) over the IANA timezone database. Nothing to install on macOS or Linux.
Steps
-
Resolve each place to an IANA name (
America/New_York, notEST). If unsure, search:python3 "${CLAUDE_SKILL_DIR}/scripts/list_timezones.py" "perth"Done when every place in the question maps to one IANA name. data/common_timezones.json lists major cities.
-
Current time ("what time is it in Tokyo?"):
python3 "${CLAUDE_SKILL_DIR}/scripts/get_time.py" "Asia/Tokyo"Prints timezone, ISO datetime, weekday and DST status.
-
Conversion ("2pm New York in Perth?"): source zone, 24-hour
HH:MM, target zone, then an optionalYYYY-MM-DDdate of the source time:python3 "${CLAUDE_SKILL_DIR}/scripts/convert_time.py" "America/New_York" "14:00" "Australia/Perth" 2026-11-02Without the date the time is taken as today in the source zone. Pass the date whenever the question is about a specific day - offsets change at DST boundaries, so today's offset can be wrong for next week's meeting. Prints source and target datetimes with weekday, DST status, and the difference in hours.
On a DST changeover day the script adds a
Warning:line: a skipped time (clocks forward) is shifted to the real time it lands on, and a repeated time (clocks back) shows both readings and uses the first. Pass that warning on to the user.
Done when the answer quotes the script's output time, including the weekday if it crosses midnight.
Example
python3 "${CLAUDE_SKILL_DIR}/scripts/convert_time.py" "America/New_York" "14:00" "Australia/Perth" 2026-11-02
# Source: America/New_York - 2026-11-02T14:00:00-05:00 (Monday, DST: No)
# Target: Australia/Perth - 2026-11-03T03:00:00+08:00 (Tuesday, DST: No)
# Time difference: +13.0h
Troubleshooting
- "Invalid timezone" - use an IANA name; search with
list_timezones.py. On Windows, which ships no IANA database,zoneinfoneeds thetzdatapackage: run the scripts asuv run --with tzdata python .... - "Invalid time format" - 24-hour
HH:MM:14:30, not2:30 PM. - "Invalid date format" -
YYYY-MM-DD.