#time #cli-parser #time-tracking #cli #parser #utility #cli-tool

bin+lib timecalc

Calculate the total duration of a given set of intervals and durations

5 releases

0.4.5 Apr 10, 2024
0.4.3 Apr 8, 2024
0.4.2 Apr 8, 2024
0.4.1 Apr 6, 2024
0.4.0 Apr 6, 2024

#133 in Date and time

Download history 204/week @ 2024-04-01 261/week @ 2024-04-08

465 downloads per month

MIT license

16KB
254 lines

ci dependency status Crates.io Version License: MIT

timecalc

Timecalc is a simple CLI tool that calculates the total time spent on a project given intervals and durations.

This is the Rust implementation of my previous tool written in Python.

Timecalc is available as both a crate and as a standalone binary. See the installation instructions on how to install it, or the documentation for more information about the crate.

How to use

$ timecalc --help
Calculate the total duration of a given set of intervals and durations.

Usage: timecalc [OPTIONS] [DURATION_ARGS]...

Arguments:
  [DURATION_ARGS]...  Intervals or durations to sum

                      Intervals are specified as `start-end`, e.g. `9-12:30`.
                      Durations are specified as `+duration` or `-duration`, e.g. `1h` or `-30m`.

                      Valid duration units are:
                        w for weeks
                        d for days
                        h for hours
                        m for minutes

Options:
  -s, --stdin    Read arguments from stdin
  -h, --help     Print help
  -V, --version  Print version

Example

Let's say you worked on a project from 7:00 to 11:30, including a 15 minute break, and then worked another 4 hours after lunch. You can calculate the total time spent on the project like this:

$ timecalc 7-11:30 -15m 4h
8h 15m
# or via stdin
$ echo 7-11:30 -15m 4h | timecalc -s
8h 15m

Installation

The easiest way to install timecalc-rs is using cargo:

cargo install --git https://github.com/Granddave/timecalc-rs

License

This project is licensed under the MIT License - see the LICENSE file for details

Dependencies

~4.5–6.5MB
~109K SLoC