// the find
mitsuhiko/when
Timezones from the command line
A command-line tool from Armin Ronacher (mitsuhiko) that converts times between locations using loosely natural language input, like `when "5pm in vienna -> tokyo"`. It's for developers who ping people across timezones often and are tired of googling world clocks.
The parser is a real pest grammar (date_grammar.pest) rather than a rigid format string, so it handles relative times, unix timestamps, and multi-hop conversions (`yyz -> sfo -> vie -> lhr`) in one pass. The core logic lives in libwhen and is reused by both the CLI and a WASM build with a browser frontend, so there's one parser instead of two implementations drifting apart. CI runs clippy, rustfmt, tests, and the wasm build, which is more rigor than most 500-star utilities bother with.
No commits since July 2024 — over a year quiet, and there's nothing in the repo signaling whether that's 'finished' or 'abandoned'. City disambiguation (Vienna, Austria vs. Vienna, VA) is admittedly best-effort per the README, and with no visible test suite for libwhen/src/parser.rs specifically, it's hard to know how it behaves on DST boundaries or ambiguous city names beyond the examples shown. Adoption is thin (477 stars, 18 forks), so if you hit a parsing edge case you're likely the first to find it.