finds.dev← search

// the find

mitsuhiko/when

★ 477 · Rust · Apache-2.0 · updated Jul 2024

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.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →