11 releases

0.4.11 Nov 6, 2024
0.4.10 Oct 7, 2024
0.4.9 Jul 28, 2024
0.4.7 Jun 30, 2024
0.4.5 Apr 10, 2024

#196 in Date and time

Download history 178/week @ 2024-07-27 6/week @ 2024-08-03 18/week @ 2024-09-14 3/week @ 2024-09-21 23/week @ 2024-09-28 166/week @ 2024-10-05 11/week @ 2024-10-12 103/week @ 2024-11-02 17/week @ 2024-11-09

120 downloads per month

MIT license

16KB
265 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

Releases

The latest release can be downloaded as a standalone binary from the releases page.

Using cargo

It can also be compiled and installed via cargo:

cargo install timecalc

License

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

Dependencies

~4.5–6MB
~107K SLoC