timecalc

Crates.iotimecalc
lib.rstimecalc
version0.4.11
sourcesrc
created_at2024-04-06 20:33:14.38769
updated_at2024-11-06 19:01:35.329437
descriptionCalculate the total duration of a given set of intervals and durations
homepage
repositoryhttps://github.com/granddave/timecalc-rs/
max_upload_size
id1198537
size37,936
David Isaksson (Granddave)

documentation

README

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

Commit count: 82

cargo fmt