A CLI for time arithmetic. Inspired by when. Try it online.
Examples:
2023/12/25 - 7d→ subtracts 7 days from December 25, 20232am + 30m→ adds 30 minutes to 2:00 AMtoday - 2025/12/25-> days until December 25, 20252024/04/27 + 40wd→ adds 40 working days, skipping weekends
Usage
Run without installing: cargo run -p tcalc-cli -- "2am + 30m"
Add holidays to working-day calculations with repeated --holiday flags:
cargo run -p tcalc-cli -- --holiday 2024/04/29 "2024/04/26 + 1wd"
Or pass a TOML calendar file:
cargo run -p tcalc-cli -- --calendar holidays.toml "2024/04/26 + 1wd"
= ["2024/04/29"]
Named calendars are selected with --calendar-name:
cargo run -p tcalc-cli -- --calendar holidays.toml --calendar-name italy "2024/04/26 + 1wd"
[]
= ["2024/04/25", "2024/04/29"]
Syntax
- Dates use
YYYY/MM/DDand can include time asYYYY/MM/DD HH:MM. - Times accept 24-hour
HH:MMorH[am|pm]forms (2pm→ 14:00). - Keywords:
today,tomorrow,yesterday,now. - Durations combine a number with a unit:
y,year,month,day|d,workingday|workday|wd,hour|h,minute|m,second|s. - Working days skip Saturdays, Sundays, holidays passed with
--holiday, and holidays loaded from--calendar. - Combine values with
+and-, chaining operations left-to-right (today - 2h + 30m).